Mybatis学习笔记(一)

MyBatis整体构架

数据源配置文件

数据库的数据源配置文件是SqlMapConfig.xml,要配置数据库驱动,数据库链接地址,用户名,密码等。如果有性能要求,可以配置连接池的连接数和空闲时间等参数。


大致内容(部分配置):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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>
<environments default="development">
<environment id="development">
<!--使用JDBC事务管理-->
<transactionManager type="JDBC"/>
<!--数据库连接池-->
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mydata?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="xxxx"/>
</dataSource>
</environment>
</environments>
</configuration>

可以在mapper标签中配置SQL语句。select标签堆中包含一堆SQL查询语句。parameterType指定输入参数的类型,resultType指定了输出结果映射的Java对象类型。这查询结果会将单条记录映射成Java的一个对象。


SQL映射配置文件

数据库的SQL映射配置文件是Mapper.xml,对于SQL语句执行的参数,以及查询语句返回的结果集对象。


大致内容(部分配置):

1
2
3
4
5
6
7
8
9
10
<?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">

<mapper>
<select id="findUserById" parameterType="int" resultType="cn.com.mybatis.model.User">
SELECT * FROM USER WHERE id=#{id}
</select>
</mapper>

可以在mapper标签中配置SQL语句。select标签堆中包含一堆SQL查询语句。parameterType指定输入参数的类型,resultType指定了输出结果映射的Java对象类型。这查询结果会将单条记录映射成Java的一个对象。


需要配置mapper.xml的文件路径,要在SQL映射配置文件(SqlMapConfig.xml)下加入

1
2
3
4
<mapper>
<!--应该是相对路径-->
<mapper resource="sqlmap/UserMapper.xml"/>
</mapper>

会话工厂与会话

配置好以上文件后,需要读取和加载这些信息,就要用到核心对象“会话工厂”“会话”。会话工厂即SqlSessionFactory类,它会根据Resources资源信息加载对象,获取开发人员在项目中配置的数据库连接池配置文件SqlMapConfig.xml信息,产生实例类SqlSession

Mybatis运行流程