Mybatis 入门案例

之前已经搭好了 Mybatis 的学习环境,下面我们来做一下入门案例;

编写测试方法

@Test
    public void testMysatis() throws Exception{
        //1、读取配置文件
        InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
        //2、创建 SqlSessionFactory 工厂
        SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = builder.build(inputStream);
        //3、使用 SqlSessionFactory 创建 SqlSession 对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //4、使用 SqlSession 创建 Dao 接口的代理对象
        IUserDao iUserDao = sqlSession.getMapper(IUserDao.class);
        //5、使用 代理对象执行 具体方法
        List<User> users = iUserDao.getAll();
        for(User user:users){
            System.out.println (user);
        }
        //6、释放资源
        sqlSession.close();
        inputStream.close();
    }

运行测试方法得到如下结果:

ser{id=41, username='老王', birthday=Tue Feb 27 17:47:08 CST 2018, sex='男', address='北京'}
User{id=42, username='小二王', birthday=Fri Mar 02 15:09:37 CST 2018, sex='女', address='北京金燕龙'}
User{id=43, username='小二王', birthday=Sun Mar 04 11:34:34 CST 2018, sex='女', address='北京金燕龙'}
User{id=45, username='传智播客', birthday=Sun Mar 04 12:04:06 CST 2018, sex='男', address='北京金燕龙'}
User{id=46, username='老王', birthday=Wed Mar 07 17:37:26 CST 2018, sex='男', address='北京'}
User{id=48, username='小马宝莉', birthday=Thu Mar 08 11:44:00 CST 2018, sex='女', address='北京修正'}

注意事项:

1、之前我们编写的 Mapper 映射文件的查询标签未指明 返回结果的封装类型,这样是存在问题的,需要进行指明查询结果的封装类型;如下

<?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="org.wdh01.dao.IUserDao">
    <!-- 配置查询所有 id dao 接口方法名,resultType 擦汗寻结果返回信息封装类型 -->
    <select id="getAll" resultType="org.wdh01.domain.User">
       SELECT * FROM test.user
    </select>
   <!--
   注意事项:
   resultType 擦汗寻结果返回信息封装类型
   -->
</mapper>

2、运行测试程序之前需要引入 log4j..properties 配置文件;

需要将配置文件 放到 resourcse 目录即可,无需特别关注内容;

原文地址:https://www.cnblogs.com/wdh01/p/13556389.html