zoukankan      html  css  js  c++  java
  • Mybatis学习(二)关联映射

    1.一对一映射

    (1)修改UserMapper.xml

    <?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.xx.dao.UserDao">
        <resultMap id="UserResultMap" type="com.xx.entity.User">
            <id column="ID" property="id" jdbcType="DECIMAL"/>
            <result column="NAME" property="name" jdbcType="VARCHAR"/>
            <result column="SEX" property="sex" jdbcType="CHAR"/>
            <result column="AGE" property="age" jdbcType="DECIMAL"/>
          <!--property指的是User类中定义的变量名称 column表示传入的参数 select指向select标签的id --> <association property="info" column="id" select="getTeacher"/> </resultMap> <insert id ="addUser" parameterType="com.xx.entity.User"> INSERT INTO TB_USER(ID,NAME,SEX,AGE) VALUES (#{id},#{name},#{sex},#{age}) </insert> <select id="getTeacher" parameterType="int" resultType="com.xx.entity.StudentInfo"> select * from STUDENTINFO t WHERE t.AGE = #{id} </select> <select id="getUser" resultMap="UserResultMap"> SELECT * FROM TB_USER </select> </mapper>

     (2)添加StudentInfo.java

     (3)在User.java中实例化一个StudentInfo变量

    2.一对多映射

    (1)修改UserMapper.xml

    <?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.xx.dao.UserDao">
        <resultMap id="UserResultMap" type="com.xx.entity.User">
            <id column="ID" property="id" jdbcType="DECIMAL"/>
            <result column="NAME" property="name" jdbcType="VARCHAR"/>
            <result column="SEX" property="sex" jdbcType="CHAR"/>
            <result column="AGE" property="age" jdbcType="DECIMAL"/>
        <!-- fetchType表示懒加载 --> <collection property="info" column="id" select="getTeacher" javaType="ArrayList" ofType="com.xx.entity.StudentInfo" fetchType="lazy"/> </resultMap> <insert id ="addUser" parameterType="com.xx.entity.User"> INSERT INTO TB_USER(ID,NAME,SEX,AGE) VALUES (#{id},#{name},#{sex},#{age}) </insert> <select id="getTeacher" parameterType="int" resultType="com.xx.entity.StudentInfo"> select * from STUDENTINFO t WHERE t.AGE = #{id} </select>
    <select id="getUser" resultMap="UserResultMap"> SELECT * FROM TB_USER </select> </mapper>

     (2)将一对一映射中实例化变量改为变量List,其余同上 

     

  • 相关阅读:
    把git项目放到个人服务器上
    关于fcitx无法切换输入法的问题解决
    博客变迁通知
    (欧拉回路 并查集 别犯傻逼的错了) 7:欧拉回路 OpenJudge 数据结构与算法MOOC / 第七章 图 练习题(Excercise for chapter7 graphs)
    (并查集) HDU 1856 More is better
    (并查集 不太会) HDU 1272 小希的迷宫
    (并查集 注意别再犯傻逼的错了) HDU 1213 How Many Tables
    (最小生成树 Kruskal算法) 51nod 1212 无向图最小生成树
    (并查集) HDU 1232 畅通工程
    (最小生成树 Prim) HDU 1233 还是畅通工程
  • 原文地址:https://www.cnblogs.com/soup227/p/6689810.html
Copyright © 2011-2022 走看看