前言
承接MyBatis快速入门的Mapper代理开发
提示:以下是本篇文章正文内容,下面案例可供参考
前文通过sqlSessionFactory获取Sqlsession对象用来执行sql,通过原生方法selectList("名称空间.sql的id"),返回一个list结果,例如:
//获取sqlSession对象,用它来执行sql
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql
List<User> user = sqlSession.selectList("test.selectAll");
创建Mapper接口,让XxxMapper与mapper接口在同一目录下,maven项目里Java代码与配置文件要分开,不建议放在同一个包里,最好在resources中创建相同目录结构的文件夹来存储XxxMapper.xml配置文件
注意,resources中是Directory不是package,创建多级文件时需要用"/"隔开,不能用".",特别注意!!
然后重写案例中的
//获取sqlSession对象,用它来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(); //执行sql List<User> user = sqlSession.selectList("test.selectAll");修改为
//获取sqlSession对象,用它来执行sql SqlSession sqlSession = sqlSessionFactory.openSession(); //执行sql // List<User> user = sqlSession.selectList("test.selectAll"); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> users = mapper.selectAll(); System.out.println(users);
使用mapper代理方式后,在核心配置文件mybatis-config.xml里就可以使用包扫描的方式进行加载映射文件,可以全部都一起加载进来
<mappers> <!-- 加载sql映射文件--> <!-- 稍后建立完映射文件在修改--> <!-- <mapper resource="com\itheima\mapper\UserMapper.xml"/>--> <!-- mapper代理方式--> <package name="com.itheima.mapper"/> </mappers>