zoukankan      html  css  js  c++  java
  • 18 MyBatis——多表查询

    引入

    多表查询我们就不能使用实体类来接收结果,而使用VO(Value Object)类来接收。他们在结构形式上是一致的,但是定位不同,VO类专用于多表查询结果的封装。

    案例:t_user表与t_group表的查询

    t_user表结构

     

    t_group表结构

    VO类的设计

    多表查询结果通常使用一个VO类来存储数据。

    我们现在要实现查询结果附带所在的组名称,于是要在原来的bean基础上添加groupName属性。

    public class UserVO {
    	private Integer id;
    	private String username;
    	private String password;
    	private Integer age;
    	private String phone;
    	private String email;
    	private Integer groupId;
    	private String groupName;
            //setter/getter
            //toString() hashCode() equals()      
    }
    

      

    mapper查询示例

    <select id="findVOById" resultType="cn.tedu.mybatis.UserVO">
    	    select t_user.id, username, password, age, phone, email, group_id AS groupId, name AS groupName
    		from t_user 
    		join t_group 
    		on t_user.group_id=t_group.id 
    		where t_user.id = #{id}; 
    </select>
    

      

    UserMapper.xml中添加查询方法

    UserVO findVOById(Integer id);
    

      

  • 相关阅读:
    SpringData概述
    运行javac 报告javac不是内部或外部命令,但是运行java、java-version正常
    Spring Data JPA
    spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序等
    Thymeleaf使用说明
    Specifications查询
    OA项目_环境搭建
    anu
    anu
    anu
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/12484974.html
Copyright © 2011-2022 走看看