自增主键

Mybatis获取插入记录的自增长ID

烂漫一生 提交于 2019-11-27 08:55:36
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。 方法:在mapper中指定keyProperty属性,示例如下: <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User"> insert into user(userName,password,comment) values(#{userName},#{password},#{comment}) </insert> 如上所示,我们在insert中指定了keyProperty="userId",其中userId代表插入的User对象的主键属性。 User.java public class User { private int userId; private String userName; private String password; private String comment; //setter and getter } UserDao.java public interface UserDao { public int insertAndGetId(User user); } 测试: User user =

在jfinal实现oracle”自增主键“保存入库,并获取自生成的主键

情到浓时终转凉″ 提交于 2019-11-26 11:06:01
oracle 数据库其实是没有自增主键的,但为了达到这一效果 ,可以采取以下方式间接实现: 1 、利用 sequence 自动力产生一个主键 ,然后将该值设置到主键上,并保存入库具体代码如下: insert into t_blog(id,title,content) value(blogseq.nextVal,' 测试。。。。 ',' 这仅仅是一篇测试文章 ') ; 2 、利用触发器实现自将 sequence 的值设置到主键上,这时可以采用以下方法实现数据录入 insert into t_blog(title,content) value(' 测试。。。。 ',' 这仅仅是一篇测试文章 ') ; 方法 2 与我们经常使用 mysql 等数据录入方式一式,因此我们首选方法 2 ,具体创建 sequence , 触发器的脚本如下: create table T_BLOG ( ID NUMBER not null, TITLE VARCHAR2(100), CONTENT VARCHAR2(2000), constraint PK_BLOG primary key (ID) ); create sequence BLOG_SEQ minvalue 1 NOMAXvalue start with 1 increment by 1 nocache; CREATE OR REPLACE