MyBatis之关联映射
来源:互联网 发布:cv 数据库 编辑:程序博客网 时间:2024/05/16 16:20
1、首先在数据库中创建person表与order表
代码如下:
create table person(personId varchar(36) primary key,
personName varchar(64),
personAddress varchar(128),
personTel varchar(11));
create table orders(orderId varchar(36),
orderNumber varchar(20),
orderPrice int,
pid varchar(36));
2、书写相应的pojo
代码如下:
package com.njupt.pojo;
import java.util.List;
public class Person {
private String id;
private String name;
private String address;
private String tel;
private 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;
}
}
Order类如下:
package com.njupt.pojo;
public class Order {
private String id;
private int number;
private int price;
private Person p;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getNumber() {
return number;
}
public void setNumber(int 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;
}
}
3、书写相应的映射文件
Person.xml(一对多)的主要代码如下:
<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"/>
<collection property="orders" ofType="Order">
<id column="orderId" property="id"/>
<result column="orderNumber" property="number"/>
<result column="orderPrice" property="price"/>
</collection>
</resultMap>
<select id="select1" parameterType="string" resultMap="personMap">
select p.*,o.* from person p ,orders o where p.personId = o.pid and p.personId = #{id}
</select>
Order.xml(多对一)的主要代码如下:
<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>
<select id="select2" parameterType="string" resultMap="orderMap">
select p.*,o.* from person p , orders o where p.personId = o.pid and o.orderId = #{id}
</select>
4、最后,一定要注意在总配置文件中包含映射文件。
- MyBatis之关联映射
- Mybatis之关联映射
- MyBatis 关联映射之一对一
- MyBatis高级映射之-一对一(一对多)关联映射
- MyBatis关联映射
- MyBatis关联映射
- mybatis关联查询映射
- Mybatis 关联映射
- MyBatis关系关联映射
- mybatis关联映射
- Mybatis关联映射
- mybatis配置关联映射
- MyBatis学习(一)之一对一关联映射查询
- MyBatis学习(二)之双向一对多关联映射查询
- MyBatis之高级关联和集合映射(一、基础知识)
- 浅谈MyBatis 之 高级映射/关联查询(四)
- MyBatis学习(一)之一对一关联映射查询
- MyBatis学习(二)之双向一对多关联映射查询
- SQL左右内外连接的区别
- Vim进阶简明手册
- 析构函数设为虚函数的作用
- C++类static静态成员变量和const常量成员变量(和引用相同)初始化方法
- poj 2239 Selecting Courses(二分图最大匹配or最大流)
- MyBatis之关联映射
- 关于网页页面制作滚动字幕
- 鉴定回文数
- 第3章 栈和队列——循环队列的元素的插入和删除
- 双色点阵
- Thinking in Java之集合框架浅析
- phpcms2008 生成html注意事项
- win8开发的核心模块 也就是我的游戏的管理和测试模块(泊松分酒)
- ACM必备算法