Mapper的xml文件基础语法笔记,增删改查,遍历
文章目录
- sql 标签
- select 标签
- where标签
- insert 标签
- update 标签
- delete 标签
- include 标签
- if标签
- trim标签
- foreach标签
sql 标签
- 表示单纯的一条sql语句,可以直接写一条可以执行的sql语句,也可以写一条给其他sql语句引用的sql语句
<sql id="Base_Column_List"><!--@mbg.generated-->id, busi_object_id, busi_object_code, app_id, title, page_id, form_data, page_data, creator_id, updator_id,created_time, updated_time</sql>
select 标签
- 表示这是一条查询语句
NcdpFormDefine selectByBusiObjectId(Long busiObjectId); //mapper接口中对应的方法
<select id="selectByBusiObjectId" parameterType="java.lang.Long" resultMap="BaseResultMap">select *from ncdp_form_definewhere busi_object_id = #{busiObjectId,jdbcType=BIGINT}</select>
where标签
- 如果where内如果没有任何语句,where则直接去除,比如下面这个例子如果if判定为false这时where里面没有语句,则不会生成where
<where><if test="departmentChecks != null">bu.department_id in<foreach collection="departmentChecks" item="item" open="(" close=")" separator=",">#{item}</foreach></if></where>
insert 标签
int insert(NcdpFormDefine record);
<insert id="insert" parameterType="com.iwhalecloud.bassc.ncdp.entity.form.NcdpFormDefine"><!--@mbg.generated-->insert into ncdp_form_define (id, busi_object_id, busi_object_code, app_id,title, page_id, form_data,page_data, creator_id, updator_id,created_time, updated_time)values (#{id,jdbcType=BIGINT}, #{busiObjectId,jdbcType=BIGINT}, #{busiObjectCode,jdbcType=VARCHAR},#{appId,jdbcType=BIGINT},#{title,jdbcType=VARCHAR}, #{pageId,jdbcType=VARCHAR}, #{formData,jdbcType=VARCHAR},#{pageData,jdbcType=VARCHAR}, #{creatorId,jdbcType=BIGINT}, #{updatorId,jdbcType=BIGINT},#{createdTime,jdbcType=TIMESTAMP}, #{updatedTime,jdbcType=TIMESTAMP})</insert>
update 标签
int updateByPrimaryKeySelective(LcdpAppGroupInfo record);
<update id="updateByPrimaryKeySelective" parameterType="com.iwhalecloud.bassc.ncdp.entity.form.NcdpFormDefine"><!--@mbg.generated-->update ncdp_form_define<set><if test="busiObjectId != null">busi_object_id = #{busiObjectId,jdbcType=BIGINT},</if><if test="busiObjectCode != null">busi_object_code = #{busiObjectCode,jdbcType=VARCHAR},</if><if test="appId != null">app_id = #{appId,jdbcType=BIGINT},</if><if test="title != null">title = #{title,jdbcType=VARCHAR},</if><if test="pageId != null">page_id = #{pageId,jdbcType=VARCHAR},</if><if test="formData != null">form_data = #{formData,jdbcType=VARCHAR},</if><if test="pageData != null">page_data = #{pageData,jdbcType=VARCHAR},</if><if test="creatorId != null">creator_id = #{creatorId,jdbcType=BIGINT},</if><if test="updatorId != null">updator_id = #{updatorId,jdbcType=BIGINT},</if><if test="createdTime != null">created_time = #{createdTime,jdbcType=TIMESTAMP},</if><if test="updatedTime != null">updated_time = #{updatedTime,jdbcType=TIMESTAMP},</if></set>where id = #{id,jdbcType=BIGINT}</update>
delete 标签
- 表示这是一条删除语句
int deleteByPrimaryKey(Long groupId);
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long"><!--@mbg.generated-->deletefrom ncdp_form_definewhere id = #{id,jdbcType=BIGINT}</delete>
include 标签
sql语句设置一个id(Base_Column_List),include通过这个id引用这个sql语句,引用过程为字符串拼接
NcdpFormDefine selectByBusiObjectId(Long busiObjectId); //mapper接口中对应的方法
<sql id="Base_Column_List"><!--@mbg.generated-->id, busi_object_id, busi_object_code, app_id, title, page_id, form_data, page_data, creator_id, updator_id,created_time, updated_time</sql><select id="selectByBusiObjectId" parameterType="java.lang.Long" resultMap="BaseResultMap">select<include refid="Base_Column_List"/>from ncdp_form_definewhere busi_object_id = #{busiObjectId,jdbcType=BIGINT}</select>
if标签
- 表示updatedTime 不为null时,标签中的内容拼接进sql语句
<if test="updatedTime != null">updated_time,</if>
- 表示list不为空,同时不为 null
<if test="list != null and list.size()!=0">
trim标签
实际上就是表示剪切的意思,对字符串进行稍微的处理
- prefix 给sql语句拼接的前缀
- suffix 给sql语句拼接的后缀
- prefixOverrides 去除sql语句前面的关键字或者字符,该关键字或者字符由prefixOverrides属性指定,假设该属性指定为"AND",当sql语句的开头为"AND",trim标签将会去除该"AND"
- suffixOverrides 去除sql语句后面的关键字或者字符,该关键字或者字符由suffixOverrides属性指定
int insertSelective(LcdpAppGroupInfo record);
<insert id="insertSelective" keyColumn="group_id" keyProperty="groupId" parameterType="com.iwhalecloud.bassc.ncdp.entity.appManage.LcdpAppGroupInfo" useGeneratedKeys="true">insert into "ncdp_app_group_info"<trim prefix="(" suffix=")" suffixOverrides=","><if test="orgId != null">org_id,</if><if test="groupName != null">group_name,</if><if test="sort != null">sort,</if><if test="creatorId != null">creator_id,</if><if test="createdTime != null">created_time,</if><if test="updateId != null">update_id,</if><if test="updateTime != null">update_time,</if></trim><trim prefix="values (" suffix=")" suffixOverrides=","><if test="orgId != null">#{orgId,jdbcType=BIGINT},</if><if test="groupName != null">#{groupName,jdbcType=VARCHAR},</if><if test="sort != null">#{sort,jdbcType=SMALLINT},</if><if test="creatorId != null">#{creatorId,jdbcType=BIGINT},</if><if test="createdTime != null">#{createdTime,jdbcType=TIMESTAMP},</if><if test="updateId != null">#{updateId,jdbcType=BIGINT},</if><if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if></trim></insert>
foreach标签
- collection 表示传入的对象名
- item 表示遍历的每个对象
- index表示索引
- open该语句以什么开始,
- close以什么结束
- separator在每次进行迭代之间以什么符号作为分隔符,
void updateSort(List<LcdpAppGroupInfo> list);
<update id="updateSort" parameterType="java.util.List"><foreach collection="list" item="item" index="index" open="" close="" separator=";">update ncdp_app_group_info<set>sort = #{item.sort}</set>where group_id = #{item.groupId}</foreach></update>
Mapper的xml文件基础语法笔记,增删改查,遍历相关推荐
- MySQL基础知识之增删改查
MySQL基础知识之增删改查 MySQL基本语法: 1.创建库:create database 库名: 创建带编码格式的库:create database 库名 character set 编码格式: ...
- 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!
什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...
- Redis基础类型ZSet增删改查(带Java库源码)
1 缘起 继续系统补充Redis基础数据类型操作知识. 为帮助读者更加系统地学习Redis基础数据操作, 分享其他数据类型操作文章: 序号 文章 1 String操作详解 2 Hash操作详解 3 L ...
- js中数组的增删改查遍历迭代过滤
注:最后附有源码,可自行测试,动动手印象更深刻 js中数组的增删改查.排序.遍历.迭代.过滤 1.展开语法 2.解构赋值 3.剩余解构 4.增删改 5.合并拆分 6.查 7.排序 8.遍历 9.迭代 ...
- JavaScript 对象增删改查 + 遍历对象+内置函数 + 随机对象
red red 1.什么是对象? 对象是JavaScript 里的一种数据类型:可以理解为是一种无序的数据集合:用来描述某个事物,例如描述一个人信息 2.对象怎么声明? let 对象名 = {} 例如 ...
- mybatis plus 不用写mapper.xml,即可使用crud(增删改查)
1.mapper接口继承BaseMapper public interface AMapper extends BaseMapper<A> { } 2.实体类 @Data @EqualsA ...
- Neo4j基础理论、Linux安装与Windows安装以及CQL语法(增删改查、排序、分页、去重)
一.什么是Neo4j? Neo4j是一个开源的 无Shcema的 基于java开发的 图形数据库,它将结构化数据存储在图中而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引 ...
- python图书管理系统增删改查_python基础-字典的增删改查
字典 字典的创建方式: # 方式一: dict1 = dict((("one", 1), ("two", 2), ("three", 3)) ...
- python基础-字典的增删改查
字典 字典的创建方式: # 方式一: dict1 = dict((("one", 1), ("two", 2), ("three", 3)) ...
最新文章
- 软件视频会议Vidyo体验
- python中对数组合并的方法
- 功能测试工具Selenium IDE
- 计算机应用基础二00018,2019年10月自学考试00018《计算机应用基础》试题(二)
- C语言中变量在内存中是如何存放的
- Spring 基于Java的Bean声明
- idea中drl文件_得分DRL:在OptaPlanner中更快,更轻松
- Hdu 4293 DP
- Netty工作笔记0046---异步模型原理剖析
- I2S原理分析(二十九)
- C中使用汇编交换两个值
- 全局光照算法:IBL
- python脚本微博自动转发抽奖_微博自动转发抽奖软件
- 今日头条笔试之手串问题
- ubuntu-创建桌面快捷方式
- EOF in header-net core
- 托格机器人_爱,死亡和机器人人第一季
- 【智慧农业】智慧温室建造流程
- 基于C语言的个人所得税计税系统
- MySQL 报错:Could not acquire management access for administration 不能正确登录怎么办?
热门文章
- java识别照片是彩色还是黑白照
- 例题5-3 安迪的第一个字典 UVa10815
- 如何在服务器上快速克隆虚拟机,制作虚拟机模板快速克隆Linux虚拟机
- 仿微信公众号界面实现
- 解决linux看温度是报错No sensors found问题
- 一键生成?从照片生成人脸 3D 模型 #AvatarMe
- ThreeJs中给立方体设置没有对角线的border
- centos无法开机 图形界面崩溃卡在start dynamic system tuning daemo以及Started Virtualization daemon...ices..shutdown
- angular复用路由组件_Angular Router的组件路由简介
- 中烟工业考计算机知识吗,广东烟草局中烟工业常见备考问题解答