行是知之始,知是行之成。这篇文章主要讲述MyBatis sql映射器 Mapper相关的知识,希望能为你提供帮助。
入门
MyBatis基于动态代理机制,让我们无需再编写Dao的实现。
传统Dao接口,现在名称统一以Mapper结尾,还有我们映射器配置文件要和映射器在同一个包.:
IDeptDao---->
DeptMapper.java---DeptMapper.xml(namespace直接写DeptMapper.java的全限定名)
1.创建个User类(首先得有个数据库中的表是User,并且还有对应的字段)
public class User { private Long id; private String name; get和set和tostring此处省略。。。。(get和set和tostring是要的,太长了没复制)
}
2.个上面的类建个接口UserMapper
import java.util.List;
/**
* 查询数据库中所有数据
* @return
*/
public interface UserMapper {
List< User> queryAll();
}
3.建个UserMapper.xml
< ?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"> < !-- orm框架 sql的映射 namespace:命名空间namespace路径+ id值 namespace怎么配置 包名.接口名 + queryAll --> < mapper namespace="cn.itsource._02mapper.UserMapper">
< !-- 查询 queryAll()
resultType 返回类型
注意下面id的值必须和你接口中的方法名一致,如果有其他方法也要一一对应,否则会报错找不到方法
下面resultType的值就是你执行了下面sql语句返回的数据类型
-->
< select id="queryAll" resultType="User"> select * from t_user < /select>
< /mapper>
【MyBatis sql映射器 Mapper】4.写一个测试类进行测试
import org.apache.ibatis.session.SqlSession; import org.junit.Test; import util.MyBataisUtil; import java.util.List; public class UserImplTest {@Test public void querAll() { //MyBataisUtil.MYBATAIS.getSqlSession(); 通过单例模式封装好sqlSession SqlSession sqlSession = MyBataisUtil.MYBATAIS.getSqlSession(); //sqlSession.getMapper(要动态代理的接口)返回动态代理类 UserMapper mapper = sqlSession.getMapper(UserMapper.class); //用动态代理类来调用查询全部数据的方法 List< User> users = mapper.queryAll(); for (User user : users) { System.out.println(user); } } }
推荐阅读
- android sdk安装
- 记一些好看的Android开源菜单
- 音乐标签Android版
- Android高级架构进阶之数据传输与序列化
- Android(Mstar平台 HDMI OUT 静音流程)
- LeetCode 825. Friends Of Appropriate Ages
- Deep Protein Methylation Profiling by Combined Chemical and Immunoaffinity Approaches Reveals Novel
- 吴裕雄--天生自然Android开发学习(魅蓝3开启USB调试)
- Android轮播图实现详细过程