Mybatis 关联映射
来源:互联网 发布:java开发平台结构图 编辑:程序博客网 时间:2024/06/05 23:00
一对多关联映射
买家和订单的关系就是一对多的关系
我们首先来创建person类和order类
public class Person { private String id; private String name; private String address; private String tel; List<Order> orders; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public List<Order> getOrders() { return orders; } public void setOrders(List<Order> orders) { this.orders = orders; }}
public class Order { private String id; private String number; private int price; private Person p; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getNumber() { return number; } public void setNumber(String number) { this.number = number; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public Person getP() { return p; } public void setP(Person p) { this.p = p; }}
并且在数据库中创建对应的实体类表,如下:
并添加数据如下:
接下来我们来配置映射文件。
Person.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cc.mybatis.domain.Person"> <resultMap type="Person" id="personMap"> <id column="personId" property="id"/> <result column="personName" property="name"/> <result column="personAddress" property="address"/> <result column="personTel" property="tel"/> <!-- 一对多 --> <!-- property:指的是集合属性的值 ofType:集合中元素的类型--> <collection property="orders" ofType="Order"> <id column="orderId" property="id"/> <result column="orderNumber" property="number"/> <result column="orderPrice" property="price"/> </collection> </resultMap> <select id="selectPersonById" parameterType="string" resultMap="personMap"> select p.*,o.* from person p,orders o where p.personId = o.pid and p.personId = #{id} </select></mapper>
添加映射文件到mybatis的配置中:
测试方法和测试结果:
多对一的映射
配置Order.xml,进行多对一的映射
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.cc.mybatis.domain.Order"> <resultMap type="Order" id="orderMap"> <id column="orderId" property="id"/> <result column="orderNumber" property="number"/> <result column="orderPrice" property="price"/> <!-- 多对一的关系 --> <association property="p" javaType="Person"> <id column="personId" property="id"/> <result column="personName" property="name"/> <result column="personAddress" property="address"/> <result column="personTel" property="tel"/> </association> </resultMap> <!-- 根据id查询Order,关联将Person查询出来 --> <select id="selectOrderById" parameterType="string" resultMap="orderMap"> select p.*,o.* from person p,orders o where p.personId = o.pid and o.orderId = #{id} </select></mapper>
再配置中加入映射文件:
测试方法和执行结果:
0 0
- MyBatis之关联映射
- MyBatis关联映射
- MyBatis关联映射
- mybatis关联查询映射
- Mybatis 关联映射
- MyBatis关系关联映射
- mybatis关联映射
- Mybatis之关联映射
- Mybatis关联映射
- mybatis配置关联映射
- Mybatis多表关联映射
- MyBatis 关联映射之一对一
- Mybatis关联映射(关联单个对象)
- MyBatis学习_2_关联映射_一对一
- Mybatis系列(七)关联映射
- mybatis--关联映射及延迟加载
- mybatis 关联自己,怎么映射 xml ?
- mybatis 的关联映射 一对一 对多
- TCP UDP协议网络通讯
- 如何打jar包和运行jar包
- 【BZOJ4876】 [Zjoi2017]线段树
- Boost.Aiso教程 2
- 最简单的 UBO(Uniform Buffer Object) 【OpenGL】【GLSL】
- Mybatis 关联映射
- Hibernate_映射_关联关系_多对多映射1
- SpringMVC个人零碎总结
- Android Framework: Binder(1)-Android IPC
- bzoj 1692 [Usaco2007 Dec]队列变换
- springfox整合SpringMVC
- strcpy,strcat,strstr,strcmp,memmove的实现
- windows XP,2003,7,2008有效,无需更改他人administrator密码进入方法:
- Http 中Get与POST的区别分析