MyBatis sql映射器 Mapper

行是知之始,知是行之成。这篇文章主要讲述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); } } }

 
 
 
 
 

    推荐阅读