全网整合营销服务商

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

免费咨询热线: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 


相关文章: 常州企业建站如何选择最佳模板?  如何将凡科建站内容保存为本地文件?  网站制作新手教程,新手建设一个网站需要注意些什么?  如何用y主机助手快速搭建网站?  如何批量查询域名的建站时间记录?  建站之星展会模版如何一键下载生成?  如何通过WDCP绑定主域名及创建子域名站点?  如何快速重置建站主机并恢复默认配置?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  建站之星价格显示格式升级,你的预算足够吗?  怎么将XML数据可视化 D3.js加载XML  做企业网站制作流程,企业网站制作基本流程有哪些?  建站VPS配置与SEO优化指南:关键词排名提升策略  内部网站制作流程,如何建立公司内部网站?  如何高效生成建站之星成品网站源码?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  历史网站制作软件,华为如何找回被删除的网站?  Android使用GridView实现日历的简单功能  ,怎么在广州志愿者网站注册?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  焦点电影公司作品,电影焦点结局是什么?  Swift中swift中的switch 语句  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何在阿里云香港服务器快速搭建网站?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何在阿里云高效完成企业建站全流程?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  常州自助建站费用包含哪些项目?  如何通过建站之星自助学习解决操作问题?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  大型企业网站制作流程,做网站需要注册公司吗?  如何快速搭建二级域名独立网站?  建站主机系统SEO优化与智能配置核心关键词操作指南  如何做静态网页,sublimetext3.0制作静态网页?  香港服务器选型指南:免备案配置与高效建站方案解析  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  高防服务器租用首荐平台,企业级优惠套餐快速部署  家具网站制作软件,家具厂怎么跑业务?  简历在线制作网站免费版,如何创建个人简历?  建站DNS解析失败?如何正确配置域名服务器?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  建站主机核心功能解析:服务器选择与网站搭建流程指南  C++时间戳转换成日期时间的步骤和示例代码  建站VPS选购需注意哪些关键参数?  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  建站三合一如何选?哪家性价比更高? 

您的项目需求

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