面试过好多人,包括自己也属于这么一个情况:

  遇到问题直接去网上查,一般都可以查到解决方案。其中也包括一些基本的面试资料的答案。

  其实有很多答案也都是正确的,但是还是存在一些压根就是胡乱抄来的答案,也不经过验证就直接贴在自己博客上

  简直是害人害己,这开发工程师的圈子大了真是什么偷懒的都有。杜绝这一现象从我做起吧。以前写的代码很少有返回主键值的,都是记录生成记录的条数,所以我也是第一次做,特此记录

今天说下 oracle 能像mysql 和 sql server 一样返回主键:

1:创建你的表,然后创建seq

create sequence SEQ_YOUR_TABLE_NAME
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
nocache;

2:创建好以后开始写xml的配置,只创建序列就可以,不需要创建触发器。

因为在插入数据的时候,mybatis 直接就将id set到你传入的bean中了

<insert id="insertId"
parameterType="com.xxx.model.YOURMODEL">
<selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
select SEQ_YOUR_TABLE_NAME.nextval as id from dual
</selectKey>
insert into YOUR_TABLE_NAME (ID,)
values (
#{id,jdbcType=DECIMAL})
</insert>

3:然后JAVA 代码:记住

@Test
public void testPriamary(){
mapper.insertId(yourbean);
int result = yourbean.getId();//这里是getId
System.out.println(result);//返回你的主键值
}

杜绝网上压根没测过就乱写之 《oracle mybatis 返回自增主键 》的更多相关文章

  1. 转mybatis返回自增主键,亲测

    重点是获取对象的主键值而不是insert的返回值 Mybatis获取插入数据的主键时,返回值总是1xml里的写法 第一种方式 <insert id="insertLogin" ...

  2. Mysql数据库表的自增主键ID号乱了,需要重新排列。

    Mysql数据库表的自增主键ID号乱了,需要重新排列. 原理:删除原有的自增ID,重新建立新的自增ID. 1,删除原有主键:ALTER TABLE `table_name` DROP `id`; 2, ...

  3. mysql百万级别重排主键id(网上的删除重建id在大数据量下会出错)

    网上教程: 先删除旧的主键 再新建主键 :数据量少时没问题,不会出现主键自增空缺间隔的情况(如:1,2,3,5):但是大数据量时会出现如上所述问题(可能是内部mysql多进程或多线程同时操作引起问题) ...

  4. 工作日常-SQL不能乱写

    前言:刚接手别人的项目没多久,在昨天的一次上线中无故躺坑,且该大兄弟已经离职,不得不帮他填坑,整完后,今天想搞一个总结,结论就是:SQL不能乱写. 搜索关键词:Cause: java.sql.SQLE ...

  5. C语言--乱写C语言

    C语言的语法太枯燥了 换个写法   #include <stdio.h> #include<stdlib.h> #define end } #define if(x) if ( ...

  6. 主键乱序插入对Innodb性能的影响

    主键乱序插入对Innodb性能的影响 在平时的mysql文档学习中我们经常会看到这么一句话: MySQL tries to leave space so that future inserts do ...

  7. 谷歌浏览器导出excel失败问题解决(网上都没解决)

    java poi导出excel报了网络错误,信息已经写回到chrome浏览器(IE/FF均无此问题).如下所示: 从chrome的network大小部分也可以看出是正确的. 网上很多答案说将file. ...

  8. 【Luogu】P2765魔术球问题(没看懂的乱搞)

    题目链接 这题……讲道理我没看懂. 不过我看懂题解的代码是在干嘛了qwq 题解是zhaoyifan的题解 然后……我来讲讲这个题解好了. 题解把值为i的球拆成了两个,一个编号是i*2,一个编号是i*2 ...

  9. c++ builder TListView控件按字符串排序(根据网上代码亲测ok)

    //--------------------------------------------------------------------------- /* 首先将一个列表框控件安放在Form上, ...

随机推荐

  1. Joker Xue

    大家好,我是LJ,来自于美丽的魏源故乡——隆回,从小被爸妈带到大,但是现在,我脱离了爸妈的管理,来到了远离家乡的长沙,大学生活当然美好,但是我们在做出每一个决定的同时,可能很少有他们的建议了,不过没有 ...

  2. HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)

    传送门: Bungee Jumping Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  3. android 学习笔记 杂记1

    getIntent().getExtras().get("intent"); 这个intent是数据包装的参数. 比如: Intent intent = new Intent(th ...

  4. swiper插件使用技巧

    1.加载插件: <!DOCTYPE html> <html> <head> ... <link rel="stylesheet" href ...

  5. UIlable上下居中

    - (void)setView{ self.chooseImg = [[UIImageView alloc] initWithFrame:CGRectMake(TO_LEFT_D, (ROW_HEIG ...

  6. 爬虫——使用BeautifulSoup4的爬虫

    我们以腾讯社招页面来做示例:http://hr.tencent.com/position.php?&start=0#a 如上图,使用BeautifulSoup4解析器,将图1中229页,每页1 ...

  7. 使用Python读取Dbf文件

    DBF:一种特殊的文件格式!表示数据库文件,Foxbase,Dbase,Visual FoxPro等数据库处理系统所产生的数据库文件! DBF 数据库是常用的桌面型数据库,它曾经被各企业.事业单位广泛 ...

  8. 关于Linux环境变量DISPLAY的设置

    问题描述:在个人PC(windows系统)安装了虚拟机,虚拟机中安装了Linux系统,Linux系统中安装了wireshark和firefox这两个程序,网上查阅可以通过设置DISPLAY环境变量指向 ...

  9. plsql 连接数据库无法解析指定的连接标识符

    之前用plsql连接的时候一直出问题,报无法解析指定的连接标识符,但是我加上ip地址就可以连接上. 我百度了很久,有说如下图选择oracle home的,有说清空admin目录下的所有文件, 但是都不 ...

  10. AB PLC 编程之状态机

    AB的程序设计和西门子有点PLC不大一样,在AB中没有RS指令,所以主要用move指令来作步进.今天我们就用Move指令写个AB的程序,和西门子比,有哪些不同. 控制任务 很简单的一个状态机.初始步为 ...