Mybatis增删改查mapper文件写法详解
1.插入
<mappernamespace="需要实现接口的全类名">
<insertid="需要实现的接口里的方法名"parameterType="方法参数类型,如果是对象要写全类名">
INSERTsql命令(命令里通过#{}获取对象属性)
<!--注意属性名区分大小写-->
</insert>
<mapper>
EG:
<mappernamespace="com.mlj.dao.PersonDao">
<insertid="insertPerson"parameterType="com.mlj.entity.Prac_Person">
INSERTINTOPRAC_PERSON(p_NAME,P_PASSWORD)VALUES(#{name},#{password})
</insert>
</mapper>
2.查询
<selectid="方法名"parameterType="方法参数类型"resultType="方法返回值类型,全类名"> SELECT表里字段名AS结果字段名FROM表名WHERE条件 <!--注意:结果字段名与属性名保持一致,区分大小写--> </select>
EG:
<resultMaptype="Address"id="address">
<resultcolumn="A_PERSON"property="personId"/>
<resultcolumn="A_ADDRESS"property="address"/>
<resultcolumn="A_NUMBER"property="number"/></resultMap>
<selectid="selectAddressByPersonId"
parameterType="java.lang.String"resultMap="address">
SELECT*FROMPRAC_ADDRESSLEFTJOINPRAC_PERSONONA_PERSON=#{personId}ANDPRAC_ADDRESS.A_PERSON=PRAC_PERSON.P_ID
</select>
此处先配置resultMapp,使表列名与属性名一致。
3.修改
与前面插入除了sql语句基本一致,直接贴代码
<updateid="updatePersonInformation"parameterType="com.mlj.entity.Prac_Person">
UPDATEPRAC_PERSONSETP_NAME=#{name},P_PASSWORD=#{password}WHEREP_ID=#{id}
<!--属性字段名区分大小写-->
</update>
4.删除
与前面插入除了sql语句基本一致,直接贴代码
<deleteid="deletePerson"parameterType="java.lang.Integer">
DELETEFROMPRAC_PERSONWHEREP_ID=#{id}
</delete>
下面看下mybatis的mapper配置文件的一般写法
mapper.xml大致如下:
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mappernamespace="com.hzcominfo.voucher.CommodityCategoryManager">
<cache-refnamespace="com.hzcominfo.dataggr.cloud"/>
<insertid="insertCommodityCategoryManager"parameterType="com.hzcominfo.voucher.mapper.CommodityCategoryManager"keyProperty="id">
INSERTINTOCOMMODITY_CATEGORY_MANAGER(
<includerefid="fields"/>
)VALUES(
<includerefid="values"/>
)
</insert>
<updateid="updateCommodityCategoryManager"parameterType="com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey">
UPDATECOMMODITY_CATEGORY_MANAGER
<includerefid="set"/>
<includerefid="where"/>
</update>
<updateid="deleteCommodityCategoryManager"parameterType="com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey">
DELETEFROMCOMMODITY_CATEGORY_MANAGER<includerefid="where"/>
</update>
<selectid="selectCommodityCategoryManager"parameterType="String"
resultType="com.hzcominfo.voucher.mapper.CommodityCategoryManager">
SELECT*FROMCOMMODITY_CATEGORY_MANAGER<includerefid="where"/>
</select>
<selectid="selectCommodityCategoryManagerByCriteria"parameterType="net.butfly.albacore.dbo.criteria.Criteria"
resultType="com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey">
SELECTCATEGORY_ID,USER_IDFROMCOMMODITY_CATEGORY_MANAGER<includerefid="where"/>
</select>
<selectid="countCommodityCategoryManagerByCriteria"parameterType="net.butfly.albacore.dbo.criteria.Criteria"
resultType="long">
SELECTcount(*)FROMCOMMODITY_CATEGORY_MANAGER<includerefid="where"/>
</select>
<sqlid="fields">
<iftest="categoryId!=null">CATEGORY_ID</if>
<iftest="userId!=null">,USER_ID</if>
</sql>
<sqlid="values">
<iftest="categoryId!=null">#{categoryId}</if>
<iftest="userId!=null">,#{userId}</if>
</sql>
<sqlid="set">
<set>
<trimprefix=""prefixOverrides=",">
<iftest="categoryId!=null">,CATEGORY_ID=#{categoryId}</if>
<iftest="userId!=null">,USER_ID=#{userId}</if>
</trim>
</set>
</sql>
<sqlid="where">
<where>
<trimprefix=""prefixOverrides="and|or">
<iftest="categoryId!=null">ANDCATEGORY_ID=#{categoryId}</if>
<iftest="userId!=null">ANDUSER_ID=#{userId}</if>
</trim>
</where>
</sql>
</mapper>
以上所述是小编给大家介绍的Mybatis增删改查mapper文件写法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!