文章目录

  • 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文件基础语法笔记,增删改查,遍历相关推荐

  1. MySQL基础知识之增删改查

    MySQL基础知识之增删改查 MySQL基本语法: 1.创建库:create database 库名: 创建带编码格式的库:create database 库名 character set 编码格式: ...

  2. 基础的java增删改查,Java基础系列(基础):Java使用Cookie增删改查操作!

    什么是Cookie? Cookie是由W3C组织提出,最早由NetScape社区发展的一种机制. Cookie是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个co ...

  3. Redis基础类型ZSet增删改查(带Java库源码)

    1 缘起 继续系统补充Redis基础数据类型操作知识. 为帮助读者更加系统地学习Redis基础数据操作, 分享其他数据类型操作文章: 序号 文章 1 String操作详解 2 Hash操作详解 3 L ...

  4. js中数组的增删改查遍历迭代过滤

    注:最后附有源码,可自行测试,动动手印象更深刻 js中数组的增删改查.排序.遍历.迭代.过滤 1.展开语法 2.解构赋值 3.剩余解构 4.增删改 5.合并拆分 6.查 7.排序 8.遍历 9.迭代 ...

  5. JavaScript 对象增删改查 + 遍历对象+内置函数 + 随机对象

    red red 1.什么是对象? 对象是JavaScript 里的一种数据类型:可以理解为是一种无序的数据集合:用来描述某个事物,例如描述一个人信息 2.对象怎么声明? let 对象名 = {} 例如 ...

  6. mybatis plus 不用写mapper.xml,即可使用crud(增删改查)

    1.mapper接口继承BaseMapper public interface AMapper extends BaseMapper<A> { } 2.实体类 @Data @EqualsA ...

  7. Neo4j基础理论、Linux安装与Windows安装以及CQL语法(增删改查、排序、分页、去重)

    一.什么是Neo4j? Neo4j是一个开源的 无Shcema的 基于java开发的 图形数据库,它将结构化数据存储在图中而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引 ...

  8. python图书管理系统增删改查_python基础-字典的增删改查

    字典 字典的创建方式: # 方式一: dict1 = dict((("one", 1), ("two", 2), ("three", 3)) ...

  9. python基础-字典的增删改查

    字典 字典的创建方式: # 方式一: dict1 = dict((("one", 1), ("two", 2), ("three", 3)) ...

最新文章

  1. 软件视频会议Vidyo体验
  2. python中对数组合并的方法
  3. 功能测试工具Selenium IDE
  4. 计算机应用基础二00018,2019年10月自学考试00018《计算机应用基础》试题(二)
  5. C语言中变量在内存中是如何存放的
  6. Spring 基于Java的Bean声明
  7. idea中drl文件_得分DRL:在OptaPlanner中更快,更轻松
  8. Hdu 4293 DP
  9. Netty工作笔记0046---异步模型原理剖析
  10. I2S原理分析(二十九)
  11. C中使用汇编交换两个值
  12. 全局光照算法:IBL
  13. python脚本微博自动转发抽奖_微博自动转发抽奖软件
  14. 今日头条笔试之手串问题
  15. ubuntu-创建桌面快捷方式
  16. EOF in header-net core
  17. 托格机器人_爱,死亡和机器人人第一季
  18. 【智慧农业】智慧温室建造流程
  19. 基于C语言的个人所得税计税系统
  20. MySQL 报错:Could not acquire management access for administration 不能正确登录怎么办?

热门文章

  1. java识别照片是彩色还是黑白照
  2. 例题5-3 安迪的第一个字典 UVa10815
  3. 如何在服务器上快速克隆虚拟机,制作虚拟机模板快速克隆Linux虚拟机
  4. 仿微信公众号界面实现
  5. 解决linux看温度是报错No sensors found问题
  6. 一键生成?从照片生成人脸 3D 模型 #AvatarMe
  7. ThreeJs中给立方体设置没有对角线的border
  8. centos无法开机 图形界面崩溃卡在start dynamic system tuning daemo以及Started Virtualization daemon...ices..shutdown
  9. angular复用路由组件_Angular Router的组件路由简介
  10. 中烟工业考计算机知识吗,广东烟草局中烟工业常见备考问题解答