以上配置完后在mybatis-config.xml文件里改resources(见后面:可以直接将整个mapper包导进来)
<mappers><mapper resource="com/test/mapper/UserMapper.xml"/></mappers>
在接口(与xxxMapper.xml文件的名称相同,统一放在com.test下的mapper文件夹下)里定义
java">package com.test.mapper;import com.test.User;import java.util.List;public interface UserMapper {// 返回的是查询的对象(User),具体的方法就看UserMapper.xml里select标签里对应的id// 如果查询返回的是多个对象,那么用集合接收,List<User>List<User> selectAll();
}
之后设置sql映射文件里的namespace为该接口的地址,同时设置select标签里的id和返回值类型(要对应sql语句返回的类型)
<mapper namespace="com.test.mapper.UserMapper"><select id="selectAll" resultType="com.test.User">select * from tb_user;</select>
</mapper>
最后在Java文件里就可以编写Mapper代理开发的代码
java"> String resource = "mybatis-config.xml";// 将mybatis-config.xml文件传入输入流InputStream inputStream = Resources.getResourceAsStream(resource);SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession(); // 获取到了数据库对象// 对数据库对象执行sql语句UserMapper userMapper = sqlSession.getMapper(UserMapper.class);List<User> users = userMapper.selectAll();System.out.println(users);// 关闭sqlSession.close();
如果mapper包里有多个sql映射文件,那么可以让mybatis-config.xml直接加载整个mapper包里的映射文件
<mappers> <!--加载sql映射文件--> <mapper resource="com/itheima/mapper/UserMapper.xml" /> <!--Mapper代用方式--> <package name="com.itheima.mapper"/>
</mappers>