(五)mybatis之一对一关系 | 您所在的位置:网站首页 › mybatis一对一关系指 › (五)mybatis之一对一关系 |
一、需求分析
需求:查询订单信息关联查询用户信息
分析:一条订单只能由一个消费者来下单,也就是说从订单的角度来说与消费者是一对一的关系。
二、建数据库表和实体对象
Customer.java package com.shyroke.entity; public class Customer { private int id; private String name; private String sex; private String birthday; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getBirthday() { return birthday; } public void setBirthday(String birthday) { this.birthday = birthday; } @Override public String toString() { return "Customer [id=" + id + ", name=" + name + ", sex=" + sex + ", birthday=" + birthday + "]"; } }Order.java package com.shyroke.entity; public class Order { private int orderId; private String Number; private String createTime; private String note; private Customer customer; public int getOrderId() { return orderId; } public void setOrderId(int orderId) { this.orderId = orderId; } public String getNumber() { return Number; } public void setNumber(String number) { Number = number; } public String getCreateTime() { return createTime; } public void setCreateTime(String createTime) { this.createTime = createTime; } public String getNote() { return note; } public void setNote(String note) { this.note = note; } public Customer getCustomer() { return customer; } public void setCustomer(Customer customer) { this.customer = customer; } @Override public String toString() { return "Order [orderId=" + orderId + ", Number=" + Number + ", createTime=" + createTime + ", note=" + note + ", customer=" + customer + "]"; } } 在Orders类中创建一个customer属性,将关联查询到的信息映射到Customer的属性中。三、编写OrderMapper.java接口和OrderMapper.xml配置文件 OrderMappe.java package com.shyroke.mapper; import java.util.List; import com.shyroke.entity.Order; public interface OrderMapper { public List getOrderCustomList(); }OrderMappe.xml DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> SELECT orders.*, customer.user_name, customer.user_sex, customer.user_birthday FROM orders, customer WHERE orders.user_id = customer.user_id; association 标签中的property指的是成员变量名,而javaType指的是该成员变量对应的类。四、注册到总配置文件中 mybatis-config.xml DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">五、测试 App.java package com.shyrolk.firstMybatis; import java.awt.image.ImageProducer; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; import java.util.List; import javax.swing.plaf.synth.SynthSeparatorUI; 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 com.shyroke.entity.Order; import com.shyroke.mapper.OrderMapper; /** * Hello world! * */ public class App { public static void main( String[] args ) throws IOException { String resource="resource/mybatis-config.xml"; InputStream inputStream=Resources.getResourceAsStream(resource); SqlSessionFactory sessionFactory=new SqlSessionFactoryBuilder().build(inputStream); SqlSession session=sessionFactory.openSession(); OrderMapper orderMapper=session.getMapper(OrderMapper.class); List orderList=orderMapper.getOrderCustomList(); System.out.println(orderList); } }结果:
(五)mybatis之一对一关系 原文:http://www.cnblogs.com/shyroke/p/7602976.html |
CopyRight 2018-2019 实验室设备网 版权所有 |