当前位置: 移动技术网 > IT编程>开发语言>Java > Mybatis增删改查mapper文件写法详解

Mybatis增删改查mapper文件写法详解

2019年07月22日  | 移动技术网IT编程  | 我要评论

  1. 插入

<mapper namespace="需要实现接口的全类名">
 <insert id="需要实现的接口里的方法名" parametertype="方法参数类型,如果是对象要写全类名">
  insert sql命令(命令里通过#{}获取对象属性)
  <!--注意属性名区分大小写 -->
 </insert>
<mapper>

eg:

<mapper namespace="com.mlj.dao.persondao">
 <insert id="insertperson" parametertype="com.mlj.entity.prac_person">
  insert into prac_person(p_name,p_password) values(#{name},#{password})
 </insert>
</mapper>

2. 查询

<select id="方法名" parametertype="方法参数类型" resulttype="方法返回值类型,全类名">
 select 表里字段名 as 结果字段名 from 表名 where 条件
 <!--注意:结果字段名与属性名保持一致,区分大小写-->
</select>

eg:

<resultmap type="address" id="address">
 <result column="a_person" property="personid"/>
 <result column="a_address" property="address"/>
 <result column="a_number" property="number"/></resultmap>
 <select id="selectaddressbypersonid"
 parametertype="java.lang.string" resultmap="address">
   select * from prac_address left join prac_person on a_person=#{personid} and prac_address.a_person=prac_person.p_id
 </select>

此处先配置resultmapp,使表列名与属性名一致。

3.修改

与前面插入除了sql语句基本一致,直接贴代码

<update id="updatepersoninformation" parametertype="com.mlj.entity.prac_person" > 
  update prac_person set p_name=#{name},p_password=#{password} where p_id=#{id}
  <!-- 属性字段名区分大小写 -->
</update>

4.删除

与前面插入除了sql语句基本一致,直接贴代码

<delete id="deleteperson" parametertype="java.lang.integer">
  delete from prac_person where p_id=#{id}
</delete>

下面看下mybatis的mapper配置文件的一般写法

mapper.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.hzcominfo.voucher.commoditycategorymanager">
<cache-ref namespace="com.hzcominfo.dataggr.cloud" />
<insert id="insertcommoditycategorymanager" parametertype="com.hzcominfo.voucher.mapper.commoditycategorymanager" keyproperty="id" >
insert into commodity_category_manager (
<include refid="fields" />
) values (
<include refid="values" />
)
</insert>
<update id="updatecommoditycategorymanager" parametertype="com.hzcominfo.voucher.mapper.commoditycategorymanagerkey">
update commodity_category_manager 
<include refid="set" />
<include refid="where" />
</update>
<update id="deletecommoditycategorymanager" parametertype="com.hzcominfo.voucher.mapper.commoditycategorymanagerkey">
delete from commodity_category_manager <include refid="where" />
</update>
<select id="selectcommoditycategorymanager" parametertype="string"
resulttype="com.hzcominfo.voucher.mapper.commoditycategorymanager">
select * from commodity_category_manager <include refid="where" />
</select>
<select id="selectcommoditycategorymanagerbycriteria" parametertype="net.butfly.albacore.dbo.criteria.criteria"
resulttype="com.hzcominfo.voucher.mapper.commoditycategorymanagerkey">
select category_id, user_id from commodity_category_manager <include refid="where" />
</select>
<select id="countcommoditycategorymanagerbycriteria" parametertype="net.butfly.albacore.dbo.criteria.criteria"
resulttype="long">
select count(*) from commodity_category_manager <include refid="where" />
</select> 
<sql id="fields">
<if test="categoryid!=null">category_id</if>
<if test="userid!=null">,user_id</if>
</sql>
<sql id="values">
<if test="categoryid!=null">#{categoryid}</if>
<if test="userid!=null">,#{userid}</if>
</sql>
<sql id="set">
<set>
<trim prefix="" prefixoverrides=",">
<if test="categoryid!=null">,category_id=#{categoryid}</if>
<if test="userid!=null">,user_id=#{userid}</if>
</trim>
</set>
</sql>
<sql id="where">
<where>
 <trim prefix="" prefixoverrides="and|or" >
<if test="categoryid!=null">and category_id=#{categoryid}</if>
<if test="userid!=null">and user_id=#{userid}</if>
</trim>
</where>
</sql>
</mapper>

以上所述是小编给大家介绍的mybatis增删改查mapper文件写法,希望对大家有所帮助

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网