Mybatis学习笔记1
Mybatis配置文件知识
- config文件的环境配置
<!-- 环境配置 -->
<!-- 加载类路径下的属性文件 -->
<properties resource="db.properties"/>
这里的db.properties是根目录的resources下建立的一个文件,
这个文件里面放的主要是数据库的连接信息,主要内容如下:
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=true
mysql.username=root
mysql.password=123456
以下是真正的环境配置主体代码
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 数据库连接相关配置 ,db.properties文件中的内容-->
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
Mybatis事务管理器默认为JDBC, 其次是MANAGED
但是MANAGED一般不会用,因为所以科学道理,具体原因自行看官方文档
- 实体类类型的别名配置
<typeAliases>
<typeAlias type="cn.edu.ldu.pojo.User" alias="User"/>
</typeAliases>
type
:实体类目录
alias
:更改后的别名
配置之后,在Mapper.xml中编写查询语句时,resultType
后面可以直接写别名
- mapper文件路径配置
官方文档
一共分为三种
- 使用相对于类路径的资源引用
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
三种映射中只有这一种不需要mapper.xml文件与mapper.java文件在同一个路径下,这种方法我觉得是最好的。
可方便管理mapper文件(.xml/.java)
- 使用映射器接口实现类的完全限定类名
<mappers>
<mapper class="cn.edu.ldu.dao.UserMapper"/>
<mapper class="cn.edu.ldu.dao.PersonMapper"/>
<mapper class="cn.edu.ldu.dao.IdCardMapper"/>
</mappers>
这是使用注解接口时对应的映射,如果后期业务比较复杂,那么注解就不能满足我们sql语句的多重查询。
- 将包内的映射器接口实现全部注册为映射器
<mappers>
<package name="mapper"/>
</mappers>
优点:可以将这个包下所有的.xml注册为映射器
缺点:必须mapper.xml文件与mapper.java文件在同一目录下
- 普通查询单个user语句
<select id="selectUser" parameterType="int" resultType="User">
select * from users where uid = #{uid}
</select>
普通的增删改查的语句基本与以上代码格式相同。
对于查询多条语句,返回结果为List/Map,可参照Mybatis官方文档
在resultType
后补上。