MyBatis关于多表查询和分页
1.1、一对一查询
用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户
一对一查询的需求:查询一个订单,与此同时查询出该订单所属的用户。
1.1.2、创建User和Order实体类 User类
User类
public class User {
private Integer id;
private String username;
private String password;
//set和get方法 //toString方法 }
Order类
public class Order {
private Integer id;
private Date ordertime;
private Double total;
//代表当前订单从属于哪一个客户,注意这个属性
//原本order表中的uid用User类型的user代替了,表示order表和user表的对应关系
private User user;
//set和get方法
//toString方法
}
1.1.3、创建OrderMapper接口
1.1.4、配置Order表对应的映射文件
OrderMapper.xml
//在selset里面的resultMap属性里面填写resultMap标签的id名
//第一种写法
<resultMap id="orderMap" type="order">
<!--
id标签是主键
column是数据库表里面的列
property是实体类里面的属性
-->
<id column="id" property="id"/>
<result column="ordertime" property="ordertime"/>
<result column="total" property="total"/>
<result column="uid" property="user.id"/>
<result column="username" property="user.username"/>
<result column="password" property="user.password"/>
</resultMap>
//第二种
<!--常用的方法-->
<resultMap id="orderMap" type="order">
<!--
id标签是主键
column是数据库表里面的列
property是实体类里面的属性,填属性名
association:用于建立一对一的关系
javaType:指定属性的类型
-->
<id column="id" property="id"/>
<result column="ordertime" property="ordertime"/>
<result column="total" property="total"/>
<association property="user" javaType="user">
<id column="uid" property="id"/>
<result column