MyBatis 也支持 Properties
这个标签位于mybatis.xml的配置文件
主要作用是用于加载外部的properties文件
用法:在src下新建db.properties文件
jdbc.driver =com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC jdbc.username=root jdbc.password=root
在mybatis.xml进行配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--properties 加载配置文件--> <properties resource="db.properties"/> <!-- 用于指定使用哪个环境 default: 用于指定使用的环境id --> <environments default="dev"> <!-- 用于配置开发环境 id: 环境的唯一识别码 --> <environment id="dev"> <!-- 事务管理器 type: 用于设置mybatis采用什么方式管理事务 JDBC表示采用和JDBC一样的事务管理方式 --> <transactionManager type="JDBC"></transactionManager> <!-- 数据源/连接池, 用于配置连接池和数据库连接的参数 type: 用于设置mybatis是否采用连接池技术 POOLED表示MyBatis采用连接池技术 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <!-- 扫描mapper文件 --> <mappers> <mapper resource="com/lin/mapper/UserMapper.xml" /> </mappers> </configuration>
<typeAliase>
给类型起别名
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--properties 加载配置文件--> <properties resource="db.properties"/> <!--typeAliases给类型起别名--> <typeAliases> <!--给User类取别名 如果没写alias 就是直接用类名做别名 但依旧繁琐,所以推荐使用package标签 这样所有的类名就是别名 --> <!--<typeAlias type="com.lin.pojo.User" alias="User"/>--> <package name="com.lin.pojo"/> </typeAliases> <!-- 用于指定使用哪个环境 default: 用于指定使用的环境id --> <environments default="dev"> <!-- 用于配置开发环境 id: 环境的唯一识别码 --> <environment id="dev"> <!-- 事务管理器 type: 用于设置mybatis采用什么方式管理事务 JDBC表示采用和JDBC一样的事务管理方式 --> <transactionManager type="JDBC"></transactionManager> <!-- 数据源/连接池, 用于配置连接池和数据库连接的参数 type: 用于设置mybatis是否采用连接池技术 POOLED表示MyBatis采用连接池技术 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <!-- 扫描mapper文件 --> <mappers> <mapper resource="com/lin/mapper/UserMapper.xml" /> </mappers> </configuration>
经过别名后mapper的类型就可以直接使用user
第一条的语句的类型和第二条的作用一直,也就是不用写那么长的路径名
关键代码
<select id="selAll" resultType="user"> select * from tb_user </select> <select id="selById" resultType="com.lin.pojo.User"> select * from tb_user where id = 1 </select>
完整代码
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace: 命名空间, 可以随意定义, 一般情况下要写全限定路径 MyBatis管理SQL语句是通过namespace+id来定位的 --> <mapper namespace="com.lin.mapper.UserMapper"> <!-- select标签用于编写查询语句 id: sql语句的唯一标识, 类比为方法名 resultType: 用于设定返回结果的类型(全限定路径) 如果返回结果是集合, 要写集合泛型的类型 --> <select id="selAll" resultType="user"> select * from tb_user </select> <select id="selById" resultType="com.lin.pojo.User"> select * from tb_user where id = 1 </select> </mapper>
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
接口绑定程序员可以提供一个接口,然后提供一个对应一个mapper.xml文件,mybatis会自动将接口和xml文件绑定,实际上mybatis会根据接口和对应的xml文件创建接口的实现类,可以得到接口的对象,方便方法的调用(动态代理模式)注意点:1.配置文件的名字必须和接口的名字保持一致2.mapper.xml文件中的命名空间要写成接口的全限定路径(包名+接口名)3.标签中的id要和接口中的方法名
mybatis框架简介a)mybatis是一个ORM框架,用于操作数据库,底层是对jdbc进行的封装.b)mybatis的前身是iBatis,是Apache下的一个开源项目.现在被迁移到了GitHub上.c)中文网址:https://mybatis.org/mybatis-3/zh/getting-started.htmld)mybatis各版本下载地址:https://github.com/my
示例一般mybatis文件都是存放在src根目录下以mybatis.xml命名配置详情mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
selectList用于查询多条数据的情况,返回值是一个list集合.如果没有查到任何数据,返回没有元素的集合(空集合,不是null)publicvoidtestSelectList()throwsIOException{//加载资源配置文件InputStreamis=Resources.getResourceAsStream("mybatis.xml");//创建工厂对象SqlSessionFa
除了导包外还要有配置文件一般用log4j.properties命名存放在src目录下一般是向上的,比如设置error级别就会显示包含error及以上的日志信息#设置log4j的根(整体)日志级别,同时指定日志输出的位置:CONSOLE表示控制台,LOGFILE表示日志文件log4j.rootCategory=ERROR,CONSOLE#如果需要打印到文件就解开下面一行的代码注释即可#log4j.r
参数类型,用于参数传递的查询mapper.xml:select*fromtb_userwhereusername=#{use
事务是操作数据库的最小单元,应该保证一个事物中的sql语句要么同时成功,要么同时不成功mybatis中配置了事务管理器,type属性设置为JDBC.表示mybatis采用和原生JDBC相同的事务管理机制一般mybatis会关闭自动提交,所以在执行DML操作时需要手动提交这里就涉及到事务管理(ACID)谈到事务一般都是以下四点原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中
这是一组标签,功能类似于switch...case..用这个标签就要注意了,因为where永远后面只有一个子句,也就是只有一个查询条件mybatis.org//DTDMapper3.0//EN""http://mybatis.o
Trimprefix:前缀,表示向前面添加内容prefixOverrides:从前面删除内容suffix:后缀,表示向后面添加内容suffixOverrides:从后面删除内容先对灵活,实际开发中用于解决where和set做不到的操作的时候使用Bind常用在模糊查询上两个标签name:要用于模糊查询的关键字value:写法"'%'+用于模糊查询的关键字+'%'"使用后后面的查询条件不再使用等号,而
set子句.有如下功能:a)如果有条件满足,会添加set关键字并执行sql语句b)如果第一个条件中有逗号,但后续的条件没有满足的,会自动去尾部逗号。c)如果修改条件都不满足就不生产set语句,出现错误,可以使用在set中添加id=#{id}来避免错误updatetb_user 添加我为好友,拉您入交流群! 请使用微信扫一扫!
添加我为好友,拉您入交流群!
请使用微信扫一扫!