MyBatis工具类创建(MyBatisUtil.java)以及

2020-05-22  本文已影响0人  凡哥爱丽姐

1、实现MyBatisUtil.java工具类

    1.1、MyBatisUtil.java工具类

package com.fan.util;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.Reader;

public class MyBatisUtil {
    private  static SqlSessionFactory factory=null;
    static {
        try {
            Reader resourceAsReader = Resources.getResourceAsReader("mybatis-config.xml");
            factory= new SqlSessionFactoryBuilder().build(resourceAsReader);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //获取sqlSession
    public static SqlSession getSqlSession(){
        return factory.openSession();
    }

    //关闭sqlSession
    public static void closeSqlSession(SqlSession sqlSession){
        if(sqlSession!=null){
            sqlSession.close();
        }
    }
}

    1.2、对MyBatisUtil.java工具类进行简单的测试

import com.fan.dao.UserDao;
import com.fan.entity.User;
import com.fan.util.MyBatisUtil;
import org.apache.ibatis.session.SqlSession;

public class TestMyBatisUtil {
    public static void main(String[] args) {
        //调用工具类中getSqlSession方法
        SqlSession sqlSession = MyBatisUtil.getSqlSession();
        UserDao userDaoMapper = sqlSession.getMapper(UserDao.class);
        //插入一条数据
        int i = userDaoMapper.addUser(new User(3, "王五", "男"));
        sqlSession.commit();
        System.out.println("插入成功"+i+"条");
        //调用工具类中closeSqlSession方法
        MyBatisUtil.closeSqlSession(sqlSession);
    }
}

2、typeAliases元素

    typeAliases元素的作用是配置类型的别名,通过与MyBatis的SQL映射文件相关联,减少输入多余的完整列名,以简化操作。

    2.1、实例

    这是之前我们在mapper文件中配置的查询语句
    <!--根据id查询用户信息-->
    <select id="findById" resultType="com.fan.entity.User">
        select * from users where id=#{id1}
    </select>

    我们在mybatis-config.xml文件中添加typeAliases元素
    <!--给com.fan.entity下的实体类使用别名-->
    <typeAliases>
        <package name="com.fan.entity"/>
    </typeAliases>
    那么mapper文件中的配置如下
    <!--根据id查询用户信息-->
    <select id="findById" resultType="User">
        select * from users where id=#{id1}
    </select>
上一篇下一篇

猜你喜欢

热点阅读