oracle中如何 Priamry key自增

摸索了一晚上,终于实现了key的自增,现在将实现的过程总结如下:

(1)首先创建一个表:这里是我创建的一个User表,包括id,user_name,password三个字段

实现的函数如下:

public void create(String tableName) {

jdbcTemplate.execute("create table "+tableName+"(id integer,user_name varchar2(40),password varchar 2(40),primary key (id))");

}

(2)然后创建一个序列:

String sql="create sequence "+seq //这里的seq是我自定义的序列名

+ " start with 8"

+ "increment by 1"

+ "minvalue 1"

+ "maxvalue 999999"

+ "nocycle nocache";

jdbcTemplate.execute(sql);

(3)为主键id设置自增:

String sql1="insert into td(id) values (seq.NEXTVAL)";

jdbcTemplate.execute(sql1);

(4)创建触发器:

String sql2="create trigger tri_user before insert on td for each row begin select seq.NEXTVAL into :new.id from dual;end;";

jdbcTemplate.execute(sql2);

注意这里的语法要写正确,我开始没写正确,出现了错误:

(5)插入数据

我自己写了一个save函数,如下:

public void save(User user) {

//Assert.isNull(user, "user is not null");

jdbcTemplate.update("insert into td(id,user_name,password) values(?,?,?)",

new Object[]{user.getId(),user.getUser_name(),user.getPassword()},

new int[]{java.sql.Types.INTEGER,java.sql.Types.VARCHAR,java.sql.Types.VARCHAR});

}

我的测试类如下:

public class jdbcTest {

@Test

public void test() {

ApplicationContext ctx = new ClassPathXmlApplicationContext(

"/beans.xml");

UserDAO userDAO = (UserDAO) ctx.getBean("userDAO");

User u3=new User();

u3.setUser_name("cwww");

u3.setPassword("123456");

userDAO.save(u3);

}

不断插入后生成的表如下:

oracle中primary,oracle中如何 Primary key自增相关推荐

  1. oracle set feedback off,Oracle数据库之Oracle导出数据中的prompt,set feedback 等是什么意思...

    本文主要向大家介绍了Oracle数据库之Oracle导出数据中的prompt,set feedback 等是什么意思,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. mpt 输出 ...

  2. oracle中constraints,oracle constraints(2)

    oracle 约束的状态 oracle在创建约束后默认状态是enabled VALIDATED SQL> create table T2 2 ( 3 VID NUMBER, 4 VNAME VA ...

  3. oracle大于条件,oracle中sql语句中的in的条件数量大于1000有问题

    oracle中sql语句中的in的条件数量大于1000有问题 oracle中sql语句中select * from t_Test t where  t.Id in(1,2,3......)/*数量不能 ...

  4. oracle集群数据库事务配置,在 .NET中使用Oracle数据库事务-安装配置-Oracle频道-中国IT实验室...

    在本文中,您将了解到如何在 Visual Basic .NET (VB.NET) 和 Visual .NET () 中使用数据库事务.具体来讲,您将系统学习数据库事务.在 .NET 程序中使用 Tra ...

  5. Oracle笔记(操作Scott中的数据)

    文章目录 1 数据库相关概念 2 数据库的发展阶段 3 Oracle相关介绍 3.1 软件相关介绍 3.2 软件目录结构介绍 3.3 软件原理 3.3.1 软件体系架构 3.3.2 本地网络服务配置 ...

  6. Oracle在Pl/sql中的存储过程----zhoudianzhang

    Oracle 存储过程 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1. ...

  7. oracle唯一约束null,Oracle外键约束中NULL的处理

    Oracle的NULL一直是一个有趣的话题,只要存在NULL,就可能会出现意想不到的结果.Oracle在外键中处理NULL约束,采用的方法就和处理唯一约束中明显不同. 前面写过一篇文章,介绍过唯一约束 ...

  8. oracle总结大全(dos中操作)

    2019独角兽企业重金招聘Python工程师标准>>> C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库SQ ...

  9. ESX上ORACLE 10.2RAC(4.在REHAT4.7中安装ORACLE RAC)

    四. 安装CRS软件 上传cluster软件到rac1,rac2的/home/oracle目录下 [root@rac1 ~]# cd /home/oracle [root@rac1 oracle]# ...

最新文章

  1. 在线实时大数据平台Storm集群组件学习
  2. MAC地址表满,广播的去向
  3. python 数据分析里axis=0/1 行列定义为什么每次都不同?(比如pandas, numpy, DataFrame)
  4. C++counting sort计数排序(针对string)的实现算法(附完整源码)
  5. 点在多边形内算法,C#判断一个点是否在一个复杂多边形的内部
  6. JSP慕课网阶段用户登录小例子(不用数据库)
  7. 超级计算机的英语作文80字,英语作文_为什么这台超级计算机如此快? (有声) _沪江英语...
  8. 设计模式-工厂方法(Factory Method)
  9. 【错误记录】Invalid character found in method name. HTTP method names must be tokens
  10. php pdo 预处理删除,PHP PDO扩展整理,包括环境配置\基本增删改查\事务\预处理
  11. 公开薪资后,我会被解雇吗?
  12. Intellij Idea选中内容后Backspace删除无法使用,Ctrl+c/Ctrl+v/Ctrl+s/Ctrl+d等等快捷键无法使用的问题的解决
  13. Window平台编译log4cpp使用方法记录 (一)
  14. cmd 文本文件分割_cmd - 分割大文件
  15. es运维常用基本命令记录。
  16. 黑客与技术提示:电脑出现文中现象说明你已经被黑客入侵
  17. message: Content type 'multipart/form-data;boundary=----WebKitFormBoundaryksbSBUwTCB6eHI3j;charse
  18. 输入学生学号、成绩,并排序
  19. 【Docker】docker安装elasticsearch集群,Kibana安装以及开启认证
  20. 云服务器和独享虚拟主机的区别,云服务器和独享虚拟主机的区别

热门文章

  1. 判断二叉树是否是平衡二叉树(dp tree)
  2. 归并排序的基本原理及实现
  3. scipy笔记:scipy.sparse
  4. 错误处理:安装torch-sparse、torch-spline、torch-scatter、torch-cluster
  5. pyecharts 应用4: 二维散点图
  6. Tableau必知必会之如何做嵌套组合饼图
  7. CentOS6.4之图解SSH无验证双向登陆配置
  8. 深度学习100例-卷积神经网络(CNN)3D医疗影像识别 | 第23天
  9. Python入门100题 | 第046题
  10. 图解一维卷积层(PyTorch)