MyBatis笔记---开发环境搭建、xml配置以及MybatisUtil工具类创建

来源:互联网 发布:提成率怎么算法 编辑:程序博客网 时间:2024/05/14 19:13

* 一. 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);    }}
原创粉丝点击