一、MyBatis介绍
MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去设置参数和获取检索结果,它将Sql代码和Java代码进行了分离。MyBatis能够使用简单的XML格式或者注解进行来配置,能够映射基本数据元素、Map接口和POJOs(普通java对象)到数据库中的记录。
二、MyBatis工作流程的介绍
1.读取配置文件
2.生成SqlSessionFactory
3.生成SqlSession
4.调用MyBatis的API
5.查询Map配置
6.返回结果
7.关闭session
三、配置文件
MyBatis的配置文件:
<?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="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/oumyye/mapping/userMapping.xml"/>
</mappers>
</configuration>
environments :可以包含多个environment
environment :对应多种数据库的配置信息 id:用来标识environment。
transactionManager :事物的处理交给谁来做
dataSource:是否用连接池 或者用第三方的连接池
四、SqlSession和SqlSessionFactory声明周期
SqlSessionFactory:程序级的
SqlSession:过程级的
五、Map配置文件
在MyBatisConfig中引入map.xml。
相对引用
<mappers> resource="com/oumyye/mapping/userMapping.xml"/>
</mappers>
使用Url方式,使用该方式map既可以在本机,又可以在服务器上
<mapper url="">
包路径引用
<package name="com.tjpld. ">
3.Map.xml介绍
它包含了各种sql语句
<?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 namespace="com.oumyye.mapping.UserMapping">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="com.oumyye.model.User"就表示将查询结果封装成一个User类的对象返回
User类就是users表所对应的实体类
-->
<!--
根据id查询得到一个user对象
-->
<select id="getUser" parameterType="String"
resultType="com.oumyye.model.User">
select * from user where id=#{id}
</select>
</mapper>