前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mybaties 的一些点

mybaties 的一些点

作者头像
杉枫
发布2018-01-03 10:20:18
4920
发布2018-01-03 10:20:18
举报

resultMap

resutType

mybaties缓存

待续

mybaties对应关系是bean和数据库字段的对应。

1、mybaties 的返回值是对象的话定义为resultMap="resultMap"

值resultMap在文件首部进行重定义避免返回值为空,现在对象存储都是hashmap如下所示       

代码语言:txt
复制
<resultMap id="resultMap" type="java.util.HashMap">
        <result column="USER_ID" property="userId" jdbcType="BIGINT" />
        <result column="USER_ERP" property="erp" jdbcType="VARCHAR" />
        <result column="USER_NAME" property="name" jdbcType="VARCHAR" />
        <result column="USER_EMAIL" property="email" jdbcType="VARCHAR" />
        <result column="USER_PHONE" property="phone" jdbcType="VARCHAR" />
        <result column="USER_ROLE" property="role" jdbcType="VARCHAR" />
    </resultMap>
代码语言:txt
复制
    <insert id="add" parameterType="com.jd.app.server.irp.common.beans.User">
        INSERT INTO irp_user (
        USER_ID,
        USER_ERP,
        USER_NAME,
        USER_EMAIL,
        USER_PHONE,
        USER_ROLE)
        VALUES (
        #{userId,jdbcType=BIGINT},
        #{erp,jdbcType=VARCHAR},
        #{name,jdbcType=VARCHAR},
        #{email,jdbcType=VARCHAR},
        #{phone,jdbcType=VARCHAR},
        #{role,jdbcType=VARCHAR})
    </insert>
代码语言:txt
复制
    <select id="getUserByErp" resultMap="resultMap" parameterType="java.lang.String">
        SELECT USER_ID,
        USER_ERP,
        USER_NAME,
        USER_EMAIL,
        USER_PHONE,
        USER_ROLE
        FROM irp_user
        WHERE 1=1
        AND USER_ERP = #{erp,jdbcType=VARCHAR}
    </select>

2.mybaties分页dao不需要包含分页字段,sql传值需要注意到将分页值传参数为#{0},#{1}如下所示

代码语言:txt
复制
<select id="getUsersByPage" resultMap="resultMap" parameterType="java.lang.Integer">
SELECT USER_ID,
USER_ERP,
USER_NAME,
USER_EMAIL,
USER_PHONE,
USER_ROLE
FROM irp_user
LIMIT #{0},#{1}
</select>

 3.ibaties获取单个对象

ibaties 需要bean对象和xml中的字段对应,需要字段生成映射。通过对应关系建立bean和数据库的

对应关系。

代码语言:txt
复制
 <resultMap id="userMap" type="com.jd.app.server.irp.common.beans.User" >
        <id column="USER_ID" property="userId" jdbcType="BIGINT" />
        <result column="USER_ERP" property="erp" jdbcType="VARCHAR" />
        <result column="USER_NAME" property="name" jdbcType="VARCHAR" />
        <result column="USER_EMAIL" property="email" jdbcType="VARCHAR" />
        <result column="USER_PHONE" property="phone" jdbcType="VARCHAR" />
        <result column="USER_ROLE" property="role" jdbcType="VARCHAR" />
    </resultMap>
代码语言:txt
复制
<select id="getUserById" resultMap="userMap" parameterType="java.lang.Long">
        SELECT * FROM irp_user WHERE 1=1 AND USER_ID = #{userId,jdbcType=BIGINT}
    </select>

userMap的type类型为bean这样实现了bean和数据库的关联对应。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-08-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档