读书人

兑现兼容各种数据库表字段的主键id自增

发布时间: 2012-08-21 13:00:21 作者: rapoo

实现兼容各种数据库表字段的主键id自增

在数据库操作中,插入数据库信息的时候往往需要使其数据库的中的表字段的主键id能够自增,虽然有的数据库的表字段可也直接在设计的时候就写成自增,比如mysql,但是有的数据库却在实现表字段的自增上却不是很好使,而且各种数据库的实现方式可能不同,所以问了简单统一的管理,方便数据库的移植,而不需要改变SQL创建语句,所以可以单独的创建一个表,专门用于管理数据库表字段主键id的自增,该表(t_table_id)可以按下面这样设计:有一个表名字段table_name(存放需要自增id的表名称),一个是当前对应表的主键id的值value。

创建上面的表之后,然后想该表中插入对应的要进行自增表字段主键id的表的信息。比如:insert into t_table_id table_name,value values('t_client',1);这个语句为表t_client设置主键id冲1开始自增。

其实简单的这样设计了还并不能实现自增,还需要编写代码来进行实现,下面就通过编写java代码来进行实现:

        public static void resetConnection(Connection conn) {try {if (conn != null) {if (conn.getAutoCommit()) {conn.setAutoCommit(false);}else {conn.setAutoCommit(true);}}}catch(SQLException e) {}} public static void beginTransaction(Connection conn) {try {if (conn != null) {if (conn.getAutoCommit()) {conn.setAutoCommit(false); //手动提交}}}catch(SQLException e) {}}public static void commitTransaction(Connection conn) {try {if (conn != null) {if (!conn.getAutoCommit()) {conn.commit();}}}catch(SQLException e) {}}public static void rollbackTransaction(Connection conn) {try {if (conn != null) {if (!conn.getAutoCommit()) {conn.rollback();}}}catch(SQLException e) {}} 




读书人网 >其他数据库

热点推荐