MyBatis框架是SqlSessionFactoryBuilder从mybatis-config配置文件来构建SqlSessionFactory,
然后的实例SqlSessionFatory的实例开启一个Sqlsession,然后Sqlsession的实例获得Mapper对象并运行Mapper映射的,完成对数据库的CRUT和事务提交,然后关闭Sqlsession;
1.一个简单的SqlSessionFactory创建
InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
Mybatis配置文件
这是mybatis的核心设置,包括数据库连接的数据源和控制事务作用域和控制事务方式的管理,
mybatis还有一个特点是把sql语句映射,mybatis可以映射Mapper的方法和和XML映射的SQL构成映射关系,而这些XML映射文件也在Mapper配置文件进行设置。
简单的mapper-config配置
<?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">
<!-- 事务管理器 -->
<transactionManager type="JDBC"/>
<!-- 数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- XML 映射文件 -->
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
mybatis访问数据库
因为SqlSessionFactory管理着mybatis配置文件的信息,会根据SqlSessionFactory创建session的实例,session同样也会获得mybatis配置文件的信息,并且通过数据库相关的信息,
根数据库打交道。
一个简单的映射访问数据库的例子
SqlSession sqlSession = MyBatisUtils.createSqlSession(); userList = sqlSession.getMapper(SysUserMapper.class).getUserListQuery();