* 一. MyBatis开发环境搭建步骤*
1.创建web项目,导入所需jar包
2.创建实体类,对应数据库表格
3.创建映射Mapper接口,编写对应抽象方法
4.配置xml文件
–创建对应的mapper.xml文件,获取sql语句映射
–创建mybatis-config.xml,用于设置数据库连接信息、Mybatis运行特性以及设置影响MyBatis行为的一些属性
5.创建MyBatisUtil工具类,用于获取SqlSession对象
6.创建Mapper接口实现类,重写抽象方法
7.编写测试类,测试代码
此处仅记录了4、5两步骤的内容
二. mapper.xml文件配置
映射文件标签:
1.mapper—根节点,
无代理:namespace可以任意
有代理:namespace值为映射接口全路径
2.cache—配置给定命名空间的缓存
3.cache-ref—从其他命名空间引用缓存配置
4.resultMap—用于描述结果集和对象的对应关系,
单表查询结果可用resultType,多表查询用resultMap
5.sql—可以重用的sql块,也可被其他语句引用
6.insert—映射插入语句
7.update—映射修改语句
8.delete—映射删除语句
9.select—映射查询语句
示例如下:
<?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.mapper.QuestionsMapper">
<!-- 查询 -->
<select id="接口中方法名" parameterType="方法传入的参数类型" resultType="方法的返回值类型">
<!-- sql语句 -->
<!-- 若用动态sql,则参数类型设置为对象类型较方便,判断条件则可判断对象属性 -->
</select>
<insert id="接口中方法名" parameterType="方法传入的参数类型">
<!-- sql语句 -->
</insert>
....其余同理
</mapper>
三. mybatis-config.xml文件配置
配置文件标签,顺序有要求:
1.properties—描述外部化,可替代的属性,有两种方式:
①.外部指定,即配置在典型java属性配置文件中(database.properties)
②.直接配置xml文件
2.settings—设置和修改MyBatis运行中的行为
3.typeAliases—别名配置
4.typeHandlers—类型处理器
5.objectFactory—对象工厂
6.plugins—插件
7.environments—环境配置,可配置多个environment,default值不能省略
7.1 environment—具体环境变量
7.1.1 transactionManager 事务管理器
7.1.2 dataSource 数据源
8. mappers 映射器,引入mapper.xml文件
示例:
<?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>
<!--
database.properties文件配置数据库连接信息, 例如:
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/数据库名称"
username="数据库用户名"
password="数据库密码"
-->
<properties resource="database.properties"/>
<typeAliases>
<!-- 别名设置,可多个typeAlias标签-->
<typeAlias type="需设置别名的类全路径" alias="别名"/>
</typeAliases>
<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>
<mappers>
<!-- 引入映射xml文件,可多个mapper标签-->
<mapper resource="映射接口对应xml文件全路径"/>
</mappers>
</configuration>
四. MyBatisUtil工具类创建
package com.util;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MyBatisUtil {
//声明SqlSessionFactory对象
private static SqlSessionFactory sqlSessionFactory=null;
static{
try {
//输入流读取mybatis-config.xml文件内容
InputStream is=Resources.getResourceAsStream("mybatis-config.xml");
//SqlSessionFactoryBuilder的build()方法获取sqlSessionFactory
sqlSessionFactory=new SqlSessionFactoryBuilder().build(is);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 自定义方法,用于获取SqlSession对象
* @param isCommit 判断是否提交事务
* @return
*/
public static SqlSession getSqlSession(boolean isCommit){
return sqlSessionFactory.openSession(isCommit);
}
}