MyBatis中resultMap和resultType的使用
2017-05-08 19:18
447 查看
Mapper.xml
User.java
Orders.java
OrdersCustomMapperImplTest.java
OrdersCustomMapper.java
<?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="ixiongyu.service.OrdersCustomMapper"> <resultMap id="OrdersUserResalutMap" type="ixiongyu.model.Orders"> <id column="id" property="id"/> <result column="user_id" property="userId"/> <result column="number" property="number"/> <result column="createtime" property="createtime"/> <result column="note" property="note"/> <association property="user" javaType="ixiongyu.model.User"> <id column="user_id" property="id"/> <result column="username" property="username"/> <result column="sex" property="sex"/> <result column="address" property="address"/> </association> </resultMap> <select id="findOrdersUserMap" resultMap="OrdersUserResalutMap"> SELECT o.*, u.username, u.sex, u.address FROM user u, orders o WHERE u.id = o.user_id; </select> <select id="findOrdersUser" resultType="ixiongyu.model.OrdersCustom"> SELECT o.*, u.username, u.sex, u.address FROM user u, orders o WHERE u.id = o.user_id; </select> </mapper>
User.java
import lombok.Data; //没有getter和setter是因为使用了lombok @Data public class User { private Integer id; private String username; private Date birthday; private String sex; private String address; }
Orders.java
@Data public class Orders { private Integer id; private Integer userId; private String number; private Date createtime; private String note; private User user; }
OrdersCustomMapperImplTest.java
public class OrdersCustomMapperImplTest { private OrdersCustomMapper ordersCustomMapper; @Before public void before() throws Exception { String resource = "mybatis-config.xml"; Reader reader = null; try { reader = Resources.getResourceAsReader(resource); } catch (IOException e) { e.printStackTrace(); } SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader); SqlSession sqlSession = sqlSessionFactory.openSession(); ordersCustomMapper = sqlSession.getMapper(OrdersCustomMapper.class); } @After public void after() throws Exception { } /** * Method: findOrdersUser() */ @Test public void testFindOrdersUser() throws Exception { List<OrdersCustom> ordersUser = ordersCustomMapper.findOrdersUser(); ordersUser.forEach(System.out::println); //TODO: Test goes here... } @Test public void findOrdersUserMap() throws Exception { List<Orders> ordersUserMap = ordersCustomMapper.findOrdersUserMap(); for (Orders orders : ordersUserMap) { System.out.println(orders); } ordersUserMap.forEach((o -> System.out.println(o.getUser().getUsername()))); } }
OrdersCustomMapper.java
public interface OrdersCustomMapper { List<OrdersCustom> findOrdersUser() throws Exception; List<Orders> findOrdersUserMap() throws Exception; }
相关文章推荐
- mybatis中resultType与resultMap使用经验
- MyBatis Review——使用resultType和resultMap实现一对一查询
- Mybatis---查询使用resultType和resultMap的区别
- mybatis中resultType和resultMap使用时的区别
- mybatis ResultMap和ResultType在使用中的区别
- mybatis中resultMap与resultType的使用说明
- mybatis简单查询,resultType及resultMap查询使用
- 我的试验__mybatis中resultType使用javaBean和Map的区别
- MyBatis Review——使用resultType和resultMap实现一对一查询
- 使用mybatis的resultType="Map"可省去new返回值对象
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
- mybatis中映射文件的resultType和resultMap
- MyBatis的ResultMap使用方法,对象关联写法
- Mybatis--resultType 和 resultMap
- mybatis--resultMap的insert使用
- mybatis的parameterType使用map实现真正的sql随意写
- Mybatis 入门之resultMap与resultType讲解实例
- Mybatis中的resultType和resultMap