zoukankan      html  css  js  c++  java
  • mybatis一对多

    1.一对多:两次 查询

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.shangsheng.springbootservlet.user.dao.UserMapper" >
    <resultMap id="BaseResultMap" type="com.shangsheng.springbootservlet.user.entity.User" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="password" property="password" jdbcType="VARCHAR" />
    <result column="per_id" property="per_id" jdbcType="INTEGER"/>

    </resultMap>

    <select id="getUserList" resultMap="getList" parameterType="int">
    select id,name,password,per_id from user where id=#{id}
    </select>

    <resultMap id="getList" type="com.shangsheng.springbootservlet.user.entity.User">
    <collection property="persons" column="id" ofType="com.shangsheng.springbootservlet.user.entity.Person" select="getAll"/>
    </resultMap>

    <select id="getAll" resultMap="personResultMap">
    select person_id,sex,mark from person where person_id=#{person_id}
    </select>

    <resultMap id="personResultMap" type="com.shangsheng.springbootservlet.user.entity.Person">
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="sex" property="sex" jdbcType="VARCHAR" />
    <result column="mark" property="mark" jdbcType="BIGINT" />
    </resultMap>
    ②,一次查询:

    <sql id="Base_Column_List" >
    id, name, password
    </sql>

    <sql id="good_Column_List">
    person_id,sex,mark
    </sql>

    <resultMap id="personResult" type="com.shangsheng.springbootservlet.user.entity.User" >
    <id column="id" property="id" jdbcType="INTEGER" />
    <result column="name" property="name" jdbcType="VARCHAR" />
    <result column="password" property="password" jdbcType="VARCHAR" />
    <collection property="personList" ofType="com.shangsheng.springbootservlet.user.entity.Person">
    <result column="person_id" property="personId" jdbcType="INTEGER" />
    <result column="sex" property="sex" jdbcType="VARCHAR" />
    <result column="mark" property="mark" jdbcType="BIGINT" />
    </collection>
    </resultMap>

    <select id="getAll" resultMap="personResult" parameterType="java.lang.Integer" >
    select
    <include refid="Base_Column_List" />,
    <include refid="good_Column_List" />
    from user join person on person_id=id
    and id = #{id,jdbcType=INTEGER}
    </select>
  • 相关阅读:
    编程ING:人人都能学会程序设计
    以拯救之因
    使用交互环境
    使用交互环境 连载3
    深入理解Oracle Exadata
    字符编码
    多语境的操作
    挖掘用户需求
    神一样的产品经理——基于移动与互联网产品实践
    产品各类型之间的关系
  • 原文地址:https://www.cnblogs.com/shanshen/p/9646056.html
Copyright © 2011-2022 走看看