1.Oracle、MySQL插入时返回下一个主键的操作

Xml代码

Oracle:

SELECT SEQ_ROLE.NEXTVAL AS ID FROM DUAL

insert into ROLE(ID, NAME, CREATE, MODIFY) values (#{id}, #{name}, sysdate, sysdate)

注意:这边的keyProperty="id"中"id"指的是Java对象ROLE中的属性,而并非数据库中ROLE表的属性。

1.2.Oracle、MySQL插入时返回当前主键的操作

Oracle:

SELECT seq_LSP_ROLE.currval as ROLEID from DUAL

insert into ROLE(ID, NAME, CREATE, MODIFY) values (#{id}, #{name}, sysdate, sysdate)

MySQL:

insert into role (name, create_time, update_time) values (#{name,jdbcType=VARCHAR}, now(), now())

注意:role表的role_id字段是自动增长的,所以插入时不需要传入值;keyProperty="roleId"中"roleId"指的是Java对象Role中的属性,而并非数据库中role表的属性。

2.查询‘_’,'%' 这样的字符

java: roleName= roleName.replaceAll("_", "/_");

roleName= roleName.replaceAll("%", "/%");

resultType="java.lang.Integer">

SELECT COUNT(1) FROM LSP_ROLE_TAB T

AND T.ROLE_NAME LIKE CONCAT('%',CONCAT(#{roleName},'%')) ESCAPE '/'

AND T.DELETE_FLAG = 0

3.插入、修改时存储创建、修改时间为数据库时间

Oracle: insert into role(ID, NAME, CREATE, MODIFY) values (#{id}, #{name}, sysdate, sysdate)

MySQL: insert into role (name, create_time, update_time) values (#{name,jdbcType=VARCHAR}, now(), now())

4.关系运算符的处理及转义

主要处理的是小于/小于等于符号(”

...

包含在之间可避免

5.批量插入、修改、删除操作

insert into role_authority (role_id, authority_id) values      (${item.roleId}, ${item.authorityId})

DELETE FROM ld_user WHERE id IN        #{item}

6.模糊查询

AND t2.`name` LIKE "%"#{entName,jdbcType=VARCHAR}"%"

AND t3.`name` LIKE "%"#{prdName,jdbcType=VARCHAR}"%"

AND T.ROLE_NAME LIKE CONCAT('%',CONCAT(#{roleName},'%'))

6.分页

resultMap="BaseResultMap">

select

from (select ROWNUM as rn,

FROM LSP_MUTUALINFO_TAB t

and t.SERVER_NAME like CONCAT('%',CONCAT(#{serverName},'%')) escape '/'

and t.SERVER_ID = #{serverId,jdbcType=VARCHAR}

)

#{iPageIndex} ]]>

1、将根据name相同 ID不同来的方式来判断(id必须唯一)

delete from test a where exists (select null from test b where b.name=a.name and b.id>a.id);

2、用rowid 来代替其中的id,比上面的方法更适用,没有字段唯一限制

delete from test a where exists (select null from test b where b.name=a.name and b.rowid>a.rowid);

3、  通过分析函数根据name 分组生成序号,然后删除序号大于1 的数据

这里的ROW_NUMBER() OVER (partition by name order by name) 是先把name列升序,再为降序以后的没条name记录返回一个序号,

delete from test     where rowid in (select rowid                       from (select rowid as rid,                                    row_number() over(partition by name order by id) as seq                               from test)                      where seq > 1);

mysql中if在oracle怎么用_mysql和oracle的mybatis操作相关推荐

  1. mysql中利用sql语句修改字段名称,字段长度等操作(亲测)

    在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿.这些操作可以在phpmyadmin或者别的m ...

  2. mysql中if在oracle怎么用_MySql和Oracle的使用

    本文档是一个记录文档,会不定时更新使用过程中遇到的差异问题 本文档记录MySql和Oracle在使用中要注意的问题,也包括两者使用上的差异问题 字符串拼接函数 CONCAT MySql MySql的 ...

  3. mysql中可以用to_char函数吗_mySQL中 实现Oracle 的to_char函数

    mySQL中 实现Oracle 的to_char函数,应该可以实现80%的兼容 REPLACE函数是区分大小的 DROP FUNCTION IF EXISTS `to_char`; CREATE DE ...

  4. mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句

    循环语句 编号 类别 oracle Mysql 注释 1 IF语句使用不同 IFiv_weekly_day = 'MON'THEN ii_weekly_day := 'MON'; ELSIFiv_we ...

  5. mysql优于oracle的地方_MYSQL转为ORACLE要注意的地方

    MYSQL转为ORACLE要注意的地方: 1.自动增长的数据类型处理 MYSQL有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值.ORACLE没有自动增长的数据类型,需要建立一个自动增 ...

  6. mysql中 唯一约束的关键字是_mysql的约束

    在mysql设计表中,有个概念叫做约束 什么是约束 约束英文:constraint 约束实际上就是表中数据的限制条件 约束种类 mysql的约束大概分为以下几种:非空约束(not null) 唯一性约 ...

  7. mysql+中与当前时间比较大小_Mysql中时间加减和比较大小的方法

    在Oracle中使用时间函数to_date习惯了,在Oracle中时间的加减也非常简单,直接加减即可.在Mysql中时间的函数很多,非常自由. 在项目中经常用到的就是时间的加减. 比如60天前,Ora ...

  8. mysql 中存储引擎是什么意思_mysql常用的存储引擎是什么

    mysql常用的存储引擎是什么 发布时间:2020-12-02 09:35:04 来源:亿速云 阅读:62 作者:小新 这篇文章将为大家详细讲解有关mysql常用的存储引擎是什么,小编觉得挺实用的,因 ...

  9. mysql中如何删除多个表格_mysql怎么批量删除多个表?

    mysql批量删除多个表的方法:使用"DROP TABLE"语句,只要将表名依次写在后面,相互之间用逗号隔开即可:语法格式"DROP TABLE [IF EXISTS] ...

最新文章

  1. 本田、大众宣布智能路口研究新进展 以安全为重点
  2. 协同工作流引擎,开启流程优化新纪元
  3. Invalid argument(s) 'pool_size' sent to create_engine(), using configuration
  4. 在GridView中添加按钮后,如何触发按钮的各种事件?
  5. springboot切面返回值_SpringBoot实战15-Spring基础-AOP
  6. Python 列表List的定义及操作
  7. linux 优先级必须为整数,进程友好性(优先级)设置对Linux没有影响
  8. mysql 类似plsql 软件_推荐一款PG数据库管理工具——pgadmin,一款类似PLSQL的工具...
  9. 机器学习算法之CART(分类回归树)概要
  10. Linq之动态条件(1)
  11. java 导出word 表格里写多行内容_论文Tips || 宅家写论文干货来了!是时候重启真正的论文了!...
  12. 《游戏学习》java实现连珠五子棋完整代码
  13. 怎样设置rotacast插件_老照片修复工具,降噪插件
  14. 双光子成像和近红外二区荧光共聚焦成像/树状大分子CT/MRI双模态成像造影剂/锰螯合物磁共振成像(MRI)
  15. BFS和DFS搜索汇总(未完待续)
  16. pg中 on conflict 使用与爬坑
  17. 三份适合工薪族的作业,抄完走向财务自由
  18. 【ASP.NET Core】配置应用程序地址的N多种方法
  19. 火影忍者377话观看
  20. 淘宝C店双十一海选时间 淘宝C店双十一海选是什么时候开始

热门文章

  1. springMVC两种方式实现多文件上传及效率比较
  2. linux查看当前用户终端,Linux----基本命令的使用(vi命令,查看文件内容,显示进程,切换用户等)...
  3. oracle 经纬度算距离,根据经纬度诀别用java和Oracle存储过程计算两点距离
  4. linux由众多微内核组成,什么是linux
  5. [转载] java如何实现一个字符串的反转和替换
  6. [转载] java实现四种常用排序算法
  7. [转载] 【数学问题】利用python求解表达式
  8. 第一个错误的版本_寻找第一个错误的版本
  9. c语言插入排序算法_插入排序算法,流程图和C,C ++代码
  10. c++ websocket客户端_websocket使用