长沙好的网站建设公司排名,wordpress文章导出,php 社交网站模板源码,西安网页设计招聘信息1.Mybatis多表查询
1.1一对一查询 1.一对一查询的模型 用户表和订单表的关系为#xff0c;一个用户有多个订单#xff0c;一个订单只从属于一个用户 一对一查询的需求#xff1a;查询一个订单#xff0c;与此同时查询出该订单所属的用户2.创建Order和User实体public class…1.Mybatis多表查询
1.1一对一查询 1.一对一查询的模型
用户表和订单表的关系为一个用户有多个订单一个订单只从属于一个用户 一对一查询的需求查询一个订单与此同时查询出该订单所属的用户2.创建Order和User实体public class Order { private int id; private Date ordertime; private double total; //代表当前订单从属于哪一个客户 private User user; } public class User { private int id; private String username; private String password; private Date birthday; } 3.创建OrderMapp接口 public interface OrderMapper { ListOrder findAll(); } 4.配置OrderMapper.xml
mapper namespacecom.lin.mapper.OrderMapperresultMap idorderMap typeorder!--手动指定字段与实体属性的映射关系column表明字段property实体属性--id columnoid propertyid/idresult columnordertime propertyordertime/resultresult columntotal propertytotal/resultresult columnuid propertyuser.id/result!--result columnusername propertyuser.username/resultresult columnpassword propertyuser.password/resultresult columnbirthday propertyuser.birthday/result--!--property:当前实体属性order的属性名称javaType当前实体order中的属性类名称--association propertyuser javaTypeuserid columnuid propertyid/idresult columnusername propertyusername/resultresult columnpassword propertypassword/resultresult columnbirthday propertybirthday/result/association/resultMapselect idfindAll resultMaporderMapSELECT *,o.id oid FROM orders o,USER u WHERE o.uidu.id/select
/mapper 1.2 一对多查询 1.一对多查询的模型
用户表和订单表的关系为一个用户有多个订单一个订单只从属于一个用户 一对多查询的需求查询一个用户与此同时查询出该用户具有的订单2.修改User实体public class Order { private int id; private Date ordertime; private double total; //代表当前订单从属于哪一个客户 private User user; } public class User { private int id; private String username; private String password; private Date birthday; //代表当前用户具备哪些订单 private ListOrder orderList; } 4.创建UserMapper接口 public interface UserMapper { ListUser findAll(); } 5.配置UserMapper.xml
mapper namespacecom.lin.mapper.UserMapperresultMap idresultMap typeuserid columnuid propertyid/idresult columnusername propertyusername/resultresult columnpassword propertypassword/resultresult columnbirthday propertybirthday/result!--配置集合信息property:集合名称ofType: 代表当前集合的数据类型--collection propertyorderList ofTypeorderid columnoid propertyid/idresult columntotal propertytotal/resultresult columnordertime propertyordertime/result/collection/resultMapselect idfindAll resultMapresultMapSELECT*,o.id oid FROM orders o,USER u WHERE u.ido.uid/select/mapper 1.3 多对多查询 1.多对多查询的模型
用户表和角色表的关系为一个用户有多个角色一个角色被多个用户使用 多对多查询的需求查询用户同时查询出该用户的所有角色2.创建Role实体修改User实体public class User { private int id; private String username; private String password; private Date birthday; //代表当前用户具备哪些订单 private ListOrder orderList; //代表当前用户具备哪些角色 private ListRole roleList; } public class Role { private int id; private String rolename; } 3.添加UserMapper接口方法 ListUser findAllUserAndRole(); 5.配置UserMapper.xml
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.lin.mapper.UserMapperresultMap iduserRoleMap typeuser!--封装user的信息--id columnuserid propertyid/idresult columnbirthday propertybirthday/resultresult columnusername propertyusername/resultresult columnpassword propertypassword/result!--封装roleList的信息--collection propertyroleList ofTypeRoleid columnroleid propertyid/idresult columnrolename propertyroleName/resultresult columnroleDesc propertyroleDesc/result/collection/resultMapselect idfindUserAndRoles resultMapuserRoleMapSELECT*FROM user u,sys_user_role ur,sys_role r WHERE u.idur.userid AND ur.roleidr.id/select
/mapper