number:订单编号
包package com.itcast.mapperxml;
package com.itcast.mapperxml;
import org.apache.ibatis.annotations.Param;
import com.itcast.pojo.Person;
public interface PersonMapper {
// 一对一:根据id查询用户信息和身份证号码
public Person queryPersonWithIdCardById(@Param(“id”) Integer id);
}
package com.itcast.pojo;
package com.itcast.pojo;
public class Person {
private Integer id;
private String name;
private Integer age;
private String sex;
private IdCard idCard;
…Set与Get方法,构造方法
}
package com.itcast.pojo;
import java.util.List;
/*
*订单表
*
*/
public class Orders {
private Integer id;//订单id
private String number;//订单编号
//声明product
private List productList;
public List getProductList() {
return productList;
}
public void setProductList(List productList) {
this.productList = productList;
}
public Orders(Integer id, String number, List productList) {
super();
this.id = id;
this.number = number;
this.productList = productList;
}
public Orders() {
super();
// TODO Auto-generated constructor stub
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append(“Orders [id=”);
builder.append(id);
builder.append(", number=");
builder.append(number);
builder.append(", productList=");
builder.append(productList);
builder.append("]");
return builder.toString();
}
}
xml文件
MyBatis核心配置文件
定义测试类
package com.itcast.test;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import com.itcast.mapperxml.OrdersMapper;
import com.itcast.pojo.Orders;
public class OrdersMapperTest {
private OrdersMapper ordersMapper;
@Before
public void setUp() throws Exception {
String resource = "MyBatis.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession(true);
// 实例化UserMapper
this.ordersMapper = sqlSession.getMapper(OrdersMapper.class);
}
//根据订单id查询该订单和商品信息
@Test
public void testqueryOrdersWithProductById() {
Orders orders=this.ordersMapper.queryOrdersWithProductById(3);
System.out.println(orders);
}
}
结果展示
参考相关的数据库
#创建一个名称为tb_user
CREATE TABLE tb_user(
id INT(32) PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(32),
address VARCHAR(256)
);
INSERT INTO tb_user VALUES(‘1’,‘詹姆斯’,‘克利夫兰’);
INSERT INTO tb_user VALUES(‘2’,‘科比’,‘洛杉矶’);
INSERT INTO tb_user VALUES(‘3’,‘保罗’,‘洛杉矶’);
CREATE TABLE tb_idcard(
id INT PRIMARY KEY AUTO_INCREMENT,
CODE VARCHAR(18)
);
INSERT INTO tb_idcard(CODE) VALUES(‘123453188908572121’);
INSERT INTO tb_idcard(CODE) VALUES(‘589453188908572121’);
CREATE TABLE tb_person(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(32),
age INT,
sex VARCHAR(8),
card_id INT UNIQUE,
FOREIGN KEY(card_id) REFERENCES tb_idcard(id)
);
INSERT INTO tb_person(NAME,age,sex,card_id) VALUES(‘Rose’,29,‘女’,1);
INSERT INTO tb_person(NAME,age,sex,card_id) VALUES(‘Tom’,27,‘男’,2);
#创建一个名称为tb_product
CREATE TABLE tb_product(
id INT(32) PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(32),
price DOUBLE
);
#创建一个名称为tb_orders
– number订单编号
CREATE TABLE tb_orders(
id INT(32) PRIMARY KEY AUTO_INCREMENT,
number VARCHAR(32),
user_id INT(32) NOT NULL,
FOREIGN KEY(user_id) REFERENCES tb_user(id)
);
INSERT INTO tb_orders VALUES(‘1’,‘1000011’,‘1’);
INSERT INTO tb_orders VALUES(‘2’,‘1000012’,‘1’);
INSERT INTO tb_orders VALUES(‘3’,‘1000013’,‘3’);
INSERT INTO tb_product VALUES(‘1’,‘Java 基础入门’,‘44.5’);
INSERT INTO tb_product VALUES(‘2’,‘Java Web 程序入门开发’,‘38.5’);
INSERT INTO tb_product VALUES(‘3’,‘SSM框架整合实战’,‘50’);
INSERT INTO tb_product VALUES(‘4’,‘MySQL’,‘30.0’);
INSERT INTO tb_product VALUES(‘5’,‘Eclispe’,‘25.0’);
#创建一个名称为tb_ordersitem
CREATE TABLE tb_ordersitem(
id INT(32) PRIMARY KEY AUTO_INCREMENT,
orders_id INT(32),
product_id INT(32),
FOREIGN KEY(orders_id) REFERENCES tb_orders(id)
FOREIGN KEY(product_id) REFERENCES tb_product(id)
);
INSERT INTO tb_ordersitem VALUES(‘1’,‘1’,‘1’);
INSERT INTO tb_ordersitem VALUES(‘2’,‘2’,‘2’);
INSERT INTO tb_ordersitem VALUES(‘3’,‘3’,‘3’);
INSERT INTO tb_ordersitem VALUES(‘4’,‘3’,‘1’);
INSERT INTO tb_ordersitem VALUES(‘5’,‘3’,‘5’);