全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

  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文件写法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# mybatis  # mapper写法  # 详解Mybatis中万能的Map和模糊查询写法  # MyBatis实现模糊查询的几种方式  # mybatis 模糊查询的实现方法  # MyBatis的模糊查询mapper.xml的写法讲解  # 字段名  # 小编  # 在此  # 给大家  # 所述  # 给我留言  # 配置文件  # 要写  # 感谢大家  # 返回值  # 疑问请  # 有任何  # address  # column  # result  # A_PERSON  # property  # resultType  # select 


相关文章: 建站之星安装路径如何正确选择及配置?  网站制作免费,什么网站能看正片电影?  深圳网站制作案例,网页的相关名词有哪些?  建站之星微信建站一键生成小程序+多端营销系统  郑州企业网站制作公司,郑州招聘网站有哪些?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  如何用PHP快速搭建高效网站?分步指南  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在宝塔面板中修改默认建站目录?  如何在VPS电脑上快速搭建网站?  网站app免费制作软件,能免费看各大网站视频的手机app?  如何设置并定期更换建站之星安全管理员密码?  家庭建站与云服务器建站,如何选择更优?  购物网站制作公司有哪些,哪个购物网站比较好?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  高端企业智能建站程序:SEO优化与响应式模板定制开发  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  如何制作算命网站,怎么注册算命网站?  C#如何使用XPathNavigator高效查询XML  韩国服务器如何优化跨境访问实现高效连接?  免费网站制作appp,免费制作app哪个平台好?  建站主机如何选?高性价比方案全解析  建站主机选哪种环境更利于SEO优化?  建站之星2.7模板快速切换与批量管理功能操作指南  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  相册网站制作软件,图片上的网址怎么复制?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  网站按钮制作软件,如何实现网页中按钮的自动点击?  无锡营销型网站制作公司,无锡网选车牌流程?  如何在万网自助建站平台快速创建网站?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  制作农业网站的软件,比较好的农业网站推荐一下?  建站主机核心功能解析:服务器选择与网站搭建流程指南  如何通过山东自助建站平台快速注册域名?  青岛网站建设如何选择本地服务器?  建站之星代理如何获取技术支持?  网站企业制作流程,用什么语言做企业网站比较好?  如何正确下载安装西数主机建站助手?  建站之星后台密码遗忘如何找回?  如何快速上传自定义模板至建站之星?  如何自定义建站之星模板颜色并下载新样式?  常州企业建站如何选择最佳模板?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。