利趣网站开发商,如何做企业网站规划,企业网站模板 免费下载,网站推广页面 英语Mybatis多表查询
一对一查询
一对一查询的模型MapperScannerConfigurer
用户表和订单表的关系为#xff0c;一个用户有多个订单#xff0c;一个订单只从属于一个用户
创建Order和User实体
public class Order {private int id;private Date ordertime;private double to…Mybatis多表查询
一对一查询
一对一查询的模型MapperScannerConfigurer
用户表和订单表的关系为一个用户有多个订单一个订单只从属于一个用户
创建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;}创建接口
public interface OrderMapper {ListOrder findAll();
}配置OrderMapper.xml
?xml version1.0 encodingUTF-8 ?
!DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd
mapper namespacecom.controller.OrderMapper
resultMap idorderMap typecom.model.Orderresult columnid propertyid /result columnordertime propertyordertime/result columntotal propertytotal/association propertyuser javaTypecom.model.Userresult columnuid propertyid/result columnusername propertyusername/result columnpassword propertypassword/result columnbirthday propertybirthday//association
/resultMapselect idfindAll resultMaporderMapselect * from orders o,user u where o.uidu.id/select
/mapper测试结果 Testpublic void tset4() {InputStream resourceAsStream null;try {resourceAsStream Resources.getResourceAsStream(SqlMapConfig.xml);} catch (IOException ioException) {ioException.printStackTrace();}SqlSessionFactory sqlSessionFactorynew SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession sqlSessionFactory.openSession(true);OrderMapper mapper sqlSession.getMapper(OrderMapper.class);ListOrder all mapper.findAll();System.out.println(all);}一对多查询
一对多查询的模型
用户表和订单表的关系为一个用户有多个订单一个订单只从属于一个用户
一对多查询的需求查询一个用户与此同时查询出该用户具有的订单
1.2.3 修改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;
}
创建UserMapper接口
public interface UserMapper {ListUser findAll();
}
配置UserMapper.xml resultMap iduserMap typecom.model.Userresult columnusername propertyusername /result columnpassword propertypassword/result columnid propertyid/result columnbirthday propertybirthday/collection propertyorderList ofTypecom.model.Orderresult propertyid columnoid/result propertyordertime columnordertime/result propertytotal columntotal//collection/resultMapselect idfindAll resultMapuserMapselect * ,o.id oid from user u left join orders o on u.ido.uid/select
测试结果 Testpublic void tset4() {InputStream resourceAsStream null;try {resourceAsStream Resources.getResourceAsStream(SqlMapConfig.xml);} catch (IOException ioException) {ioException.printStackTrace();}SqlSessionFactory sqlSessionFactorynew SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession sqlSessionFactory.openSession(true);userMapper mapper sqlSession.getMapper(userMapper.class);ListUser all mapper.findAll();System.out.println(all);}多对多查询
多对多查询的模型
用户表和角色表的关系为一个用户有多个角色一个角色被多个用户使用
多对多查询的需求查询用户同时查询出该用户的所有角色
创建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;}
添加UserMapper接口方法
ListUser findAllUserAndRole();配置UserMapper.xml resultMap idroleMap typecom.model.Userresult columnusername propertyusername /result columnpassword propertypassword/result columnid propertyid/result columnbirthday propertybirthday/collection propertyroleList ofTypecom.model.Roleresult propertyid columnrid/result propertyrolename columnrolename//collection/resultMapselect idfindAllUserAndRole resultMaproleMapselect u.*,r.id rid,r.* from user u left join sys_user_role ur on u.idur.userid inner join sys_role r on r.idur.roleid/select测试结果 Testpublic void tset4() {InputStream resourceAsStream null;try {resourceAsStream Resources.getResourceAsStream(SqlMapConfig.xml);} catch (IOException ioException) {ioException.printStackTrace();}SqlSessionFactory sqlSessionFactorynew SqlSessionFactoryBuilder().build(resourceAsStream);SqlSession sqlSession sqlSessionFactory.openSession(true);userMapper mapper sqlSession.getMapper(userMapper.class);ListUser all mapper.findAllUserAndRole();System.out.println(all);}