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)) ...
最新文章
- 如何写出一份惊艳BAT的简历?
- 【CodeForces - 1084D】The Fair Nut and the Best Path (树形dp)
- Icon+启动图尺寸
- 前端人职场发展的 6 个方向
- matlab-线性代数 判断 det 矩阵是否可逆
- 苹果推出新款iPad Air和iPad mini,升级A12处理器
- 牛客练习赛21:A. 黑妹的游戏I
- mysql 是否有归档模式_数据库的归档模式和非归档模式的区别
- WebService高级,可靠消息
- python 导入excel_经理要我把五百万条数据全部导入Excel!还好有Python!不然等死...
- android 使用adb命令安装安卓apk包
- 游戏后台架构发展历史及展望
- OC中链式编程和函数式编程
- c语言模拟交通信号,C语言编写的交通信号灯
- linux内存懒分配,Linux 性能分析总结之内存缓存与Swap(四)
- oracle 的lag,oracle分析函数lag
- 2011高清电影《我知女人心》刘德华 巩俐 1204*576高清下载
- kip6000打印服务器系统安装,KIP6000驱动安装步骤.
- 公钥密码学中的公钥和私钥
- 百度知道引流规则,这个方法对于精准营销很有效果