Mybatis简介
Mybatis:是一个持久层的框架,是在apache下的顶级项目。通过mybatis提供的映射方式,可以自由灵活的生成满足需要的sql语句。
mybatis可以将向preparedStatement中的输入参数自动进行输入映射,并将结果集灵活映射成java对象
一、Mybatis框架
Mybatis框架如下图所示:
二、全局配置文件(SqlMApConfig.xml)与映射文件(mapper.xml)
1、SqlMapConfig.xml
mybaits的全局配置文件,内容包括以下:
properties(属性)
settings(全局配置参数)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射器)
简单的配置如下:
<?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>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理,事务控制由mybatis进行-->
<transactionManager type="JDBC" />
<!-- 数据库连接池,由mybatis管理-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8" />
<property name="username" value="mysql用户名" />
<property name="password" value="用户密码" />
</dataSource>
</environment>
</environments>
<!-- 加载映射文件-->
<mappers>
<mapper resource = "sqlmap/UserMapper.xml"/>
</mappers>
</configuration>
2、映射文件
一般映射文件包括**<insert\delete\update\select id = " …"parameterType = " " resultType = " ">
sql语句
</…>
例:
<mapper namespace="test">
<select id="findUserById" parameterType="int" resultType="com.kales.mybatis.po.Items">
SELECT * FROM items WHERE id=#{value}
</select>
</mapper>
三、Mybatis的代码过程
1、获得SqlMapConfig.xml配置文件
//获得SqlMapconfig.xml配置文件
String resource = "SqlMapconfig.xml" ;
2、获得配置文件流
//得到配置文件流
InputStream inputStream = Resources.getResourceAsStream(resource);
3、创建SqlSessionFactory(会话工厂)
//创建会话工厂sqlSession_1
SqlSessionFactory sqlSession_1 = new SqlSessionFactoryBuilder().build(inputStream);
4、建立SqlSession会话
//创建sqlSession会话
SqlSession sqlSession = sqlSession_1.openSession();
5、通过会话对数据库进行操作(例)
//查询操作
Items items = sqlSession.selectOne("test.findUserById", 2);
6、关闭会话
sqlSession.close();