resultMap
resutType
mybaties缓存
待续
mybaties对应关系是bean和数据库字段的对应。
1、mybaties 的返回值是对象的话定义为resultMap="resultMap"
值resultMap在文件首部进行重定义避免返回值为空,现在对象存储都是hashmap如下所示
<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>
<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>
<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}如下所示
<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和数据库的
对应关系。
<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>
<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和数据库的关联对应。
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句