MyBatis一对一查询使用ResultType映射
来源:互联网 发布:python黑帽子 百度云 编辑:程序博客网 时间:2024/05/16 07:10
需求背景:查询订单信息关联用户信息。
mapper.xml
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.hl.mybatis.first.mapper.OrdersCustomMapper"> <!-- 定义查询订单关联查询用户ResultMap com.hl.myabtis.first.beas.Orders将整个查询的信息映射到Order上 --> <resultMap type="com.hl.myabtis.first.beas.Orders" id="ordersUserResultMap"> <!-- 配置Order映射信息 id:订餐结果集唯一标识 property:对应订单类属性 --> <id column="id" property="id"/> <result column="user_id" property="user_id"/> <result column="number" property="number"/> <result column="createtime" property="createtime"/> <result column="note" property="note"/> <!-- 配置关联属性User的映射信息 association:用于映射关联查询单个对象的信息 property:用户信息所要映射到的属性名 user:属性的全类名 --> <association property="user" javaType="com.hl.myabtis.first.beas.User"> <!-- 关联查询用户的唯一标识 column:指定唯一标识用户信息的列 javaType:映射到User的对应属性类型 --> <id column="user_id" javaType="java.lang.Integer"/> <result column="username" property="username"/> <result column="sex" property="sex"/> <result column="address" property="address"/> </association> </resultMap> <!-- 查询订单关联查询用户信息 --> <select id="findOrdersUser" resultType="com.hl.myabtis.first.beas.OrdersCustom"> select orders.*,user.username,user.sex,user.address from orders,user where orders.user_id = user.id </select> <!-- 查询订单关联查询用户信息 ResultMap映射--> <select id="findOrdersUserResultMap" resultMap="ordersUserResultMap"> select orders.*,user.username,user.sex,user.address from orders,user where orders.user_id = user.id </select> </mapper>
mapepr.java
package com.hl.mybatis.first.mapper;import java.util.List;import com.hl.myabtis.first.beas.Orders;import com.hl.myabtis.first.beas.OrdersCustom;public interface OrdersCustomMapper { //查询订单关联用户信息 public List<OrdersCustom> findOrdersUser() throws Exception; //查询订单关联用户信息ResultMap public List<Orders> findOrdersUserResultMap() throws Exception;}
原始订单类:
package com.hl.myabtis.first.beas;import java.util.Date;public class Orders { private Integer id; private Integer user_id; private String number; private Date createtime; private String note; //用户信息 private User user; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getUserId() { return user_id; } public void setUserId(Integer userId) { this.user_id = userId; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public Date getCreatetime() { return createtime; } public void setCreatetime(Date createtime) { this.createtime = createtime; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public String toString() { return "Orders [id=" + id + ", user_id=" + user_id + ", number=" + number + ", createtime=" + createtime + ", note=" + note + ", user=" + user + "]"; }}
测试代码:
@Test public void testFindOrdersUserResultMap() throws Exception{ SqlSession sqlSession = sqlSessionFactory.openSession(); OrdersCustomMapper ordersMapper = sqlSession.getMapper(OrdersCustomMapper.class); List<Orders> list = ordersMapper.findOrdersUserResultMap(); for (Orders ordersCustom : list) { System.out.println(ordersCustom); } }
对比:MyBatis一对一查询使用ResultType映射 ;不同的是将User作为一个属性存在Orders类中。
阅读全文
0 0
- MyBatis一对一查询使用ResultType映射
- MyBatis一对一查询使用ResultType映射
- mybatis使用resultType实现一对一查询
- mybatis进阶(2)--一对一查询(使用resultType)
- Mybatis - 高级映射 (复习,数据表分析,一对一 之 resultType )
- MyBatis Review——使用resultType和resultMap实现一对一查询
- Mybatis高级映射一对一查询
- MyBatis普通查询与一对一映射查询
- 【MyBatis框架】高级映射-一对一查询
- 【mybatis基础】高级映射:一对一查询
- 【MyBatis框架】高级映射-一对一查询
- 【Mybatis】---高级映射之一对一查询
- MyBatis高级映射(一对一查询)
- mybatis教程--映射之一对一查询
- mybatis之一对一映射查询(十)
- MyBatis高级映射之一对一查询
- JavaEE_Mybatis_SpringMVC_Mybatis_lesson11_一对一关联映射(ResultMap/ResultType)
- mybatis高级输出映射(一对一查询输出映射)
- 雷达小地图制作
- HashMap实现原理分析
- idea安装单元测试JUnit插件
- js事件介绍
- java-网络文件下载器
- MyBatis一对一查询使用ResultType映射
- C#做一个简单的窗体程序
- SVN详解
- OpenCV中的SVM参数优化
- 【bzoj2821】作诗(Poetize)
- android--利用Service进行文件下载
- 仿小米天气15天趋势预报
- 漂亮的git log显示
- 树