美文网首页
mybaits 使用笔记

mybaits 使用笔记

作者: 阿杰_96c5 | 来源:发表于2020-11-16 14:11 被阅读0次

mybaits foreach 使用笔记

1 foreach insert

    <insert id="******">
        INSERT INTO `foen-vue`.dorm_users
                (dorm_id, user_id, status, create_by, create_time)
        VALUES
        <foreach collection ="userIds" item="userId" index= "index" separator =",">
            (
                #{dormId},#{userId},'0',#{createBy},sysdate()
            )
        </foreach >

    </insert>

2 foreach in

    <update id="******">
        UPDATE `foen-vue`.dorm_users
        SET status='1', update_by=#{updateBy}, update_time=sysdate()
        WHERE
            dorm_id = #{dormId}
            and status = '0'
            and user_id in
        <foreach collection ="userIds" item="userId" index= "index" separator="," open="(" close=")">
            #{userId}
        </foreach>

    </update>

一对多

<collection>标签:
主要用于加载关联的集合对象
select 属性:
用于指定查询 account 列表的 sql 语句,所以填写的是该 sql 映射的 id
column 属性:
用于指定 select 属性的 sql 语句的参数来源,上面的参数来自于 user 的 id 列,所以就写成 id 这一个字段名了

<resultMap id="userMap" type="org.example.domain.User">
    <id property="id" column="id"></id>
    <result property="username" column="username"></result>
    <result property="sex" column="sex"></result>
    <result property="birthday" column="birthday"></result>
    <result property="address" column="address"></result>
   
   <!--配置user对象中国accounts集合映射  延迟加载-->
    <collection property="accounts" column="id" ofType="org.example.domain.Account" select="org.example.dao.AccountDao.findAllByUid">

    </collection>

</resultMap>

一对一

select: 填写我们要调用的 select 映射的 id
column : 填写我们要传递给 select 映射的参数

    <!-- 定义account和user的resultMap-->
    <resultMap id="accountUserMap" type="org.example.domain.Account">
        <id property="id" column="id"></id>
        <result property="uid" column="uid"></result>
        <result property="money" column="money"></result>
        <!-- 一对一的关系映射: 配置封装user的内容  配置延迟加载-->
        <association property="user" column="uid" javaType="org.example.domain.User" select="org.example.dao.UserDao.findById">
        </association>

    </resultMap>

resultMap 结果类型

<resultMap type="org.example.domain.User" id="userMap">
    <id column="id" property="userId"/>
    <result column="username" property="userName"/>
    <result column="sex" property="userSex"/>
    <result column="address" property="userAddress"/>
    <result column="birthday" property="userBirthday"/>
</resultMap>
id 标签:用于指定主键字段
result 标签:用于指定非主键字段
column 属性:用于指定数据库列名
property 属性:用于指定实体类属性名称 

相关文章

网友评论

      本文标题:mybaits 使用笔记

      本文链接:https://www.haomeiwen.com/subject/woaabktx.html