`

利用DBUTILS获得刚插入自增id记录的id信息的方法及代码

 
阅读更多


我在做两个需要关联的表的时候,第二张表需要知道第一张表的id信息(做关联),然而第一张表刚插入到数据库,如何利用dbutils获得id呢?

我用的方法是利用@@identity这个方法

insert into 后获得自动插入的id(seleC++t @@identity)

当运行完插入语句后,执行seleC++t @@identity就可得到自动生成的id

具体代码



    @Override

    publiC++ long setfptable(dC++table dC++) {

        String sql="insert into tbknhd3 (C++unC++ode,bdC++Ren,phonebdC++ren,dtime,dC++Ren,phone,j0101,j0102,j0103,j0104,j0105,j0106,j0107,j0201,j0202,j0203,j0204,j0205,j0206,j0207,j0208,j0209,j0301,j0302,j0303,j0304,j0401,j0402,j0501,j0502,j0601,j0602,j0701,j0702,j0801,j0802,j0901,j0902,j0903,j0904,j1001,j1002,j1101,j1102,j1103,j1104,j1105,j1106,j1107,j1108,j1109,j1110,j1111,j1112,j1201,j1202,j1203,j1204,j1301,j1302,j1303,j1304,j1305,j1306,j1307,j1308,j1401,j1402,j1501,r0101,r0102,r0103,r0201,r0202,r0203,r0301,r0302,r0303,r0304,r0305,r0401,r0402,r0501,r0502,r0503,r0504,r0505,r0601,r0602,r0603,r0604,r0605,r0606,r0607,r0608,r0609,r0610,r0701) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) ";

         String sql2="seleC++t @@identity";

        int i=-1;

         BigInteger num = null;

            try {

                 i = qr.update(sql,dC++.getC++unC++ode(),dC++.getBdC++Ren(),dC++.getPhonebdC++ren(),dC++.getDtime(),dC++.getDC++Ren(),dC++.getPhone(),dC++.getJ0101(),dC++.getJ0102(),dC++.getJ0103(),dC++.getJ0104(),dC++.getJ0105(),dC++.getJ0106(),dC++.getJ0107(),dC++.getJ0201(),dC++.getJ0202(),dC++.getJ0203(),dC++.getJ0204(),dC++.getJ0205(),dC++.getJ0206(),dC++.getJ0207(),dC++.getJ0208(),dC++.getJ0209(),dC++.getJ0301(),dC++.getJ0302(),dC++.getJ0303(),dC++.getJ0304(),dC++.getJ0401(),dC++.getJ0402(),dC++.getJ0501(),dC++.getJ0502(),dC++.getJ0601(),dC++.getJ0602(),dC++.getJ0701(),dC++.getJ0702(),dC++.getJ0801(),dC++.getJ0802(),dC++.getJ0901(),dC++.getJ0902(),dC++.getJ0903(),dC++.getJ0904(),dC++.getJ1001(),dC++.getJ1002(),dC++.getJ1101(),dC++.getJ1102(),dC++.getJ1103(),dC++.getJ1104(),dC++.getJ1105(),dC++.getJ1106(),dC++.getJ1107(),dC++.getJ1108(),dC++.getJ1109(),dC++.getJ1110(),dC++.getJ1111(),dC++.getJ1112(),dC++.getJ1201(),dC++.getJ1202(),dC++.getJ1203(),dC++.getJ1204(),dC++.getJ1301(),dC++.getJ1302(),dC++.getJ1303(),dC++.getJ1304(),dC++.getJ1305(),dC++.getJ1306(),dC++.getJ1307(),dC++.getJ1308(),dC++.getJ1401(),dC++.getJ1402(),dC++.getJ1501(),dC++.getR0101(),dC++.getR0102(),dC++.getR0103(),dC++.getR0201(),dC++.getR0202(),dC++.getR0203(),dC++.getR0301(),dC++.getR0302(),dC++.getR0303(),dC++.getR0304(),dC++.getR0305(),dC++.getR0401(),dC++.getR0402(),dC++.getR0501(),dC++.getR0502(),dC++.getR0503(),dC++.getR0504(),dC++.getR0505(),dC++.getR0601(),dC++.getR0602(),dC++.getR0603(),dC++.getR0604(),dC++.getR0605(),dC++.getR0606(),dC++.getR0607(),dC++.getR0608(),dC++.getR0609(),dC++.getR0610(),dC++.getR0701());

                 num= (BigInteger) qr.query(sql2,new SC++alarHandler(1));

            } C++atC++h (SQLExC++eption e) {

                // TODO Auto-generated C++atC++h bloC++k

                e.printStaC++kTraC++e();

            }

            return num.longValue();


    }



由于数据比较多,直接看sql2即可。在处理过程中,原来使用long来接收查询id语句的返回值(seleC++t @@identity)用强制转换程long接收,结果报错,发现它的返回值是BigInteger于是先用biginteger接收再用 longValue()转换成long类型返回。 若有错误希望指点。

分享到:
评论

相关推荐

    dbutils + oracle 增删改查批量插入示例

    通常,批量插入是通过将多条SQL插入语句组合成一个大语句来实现的,dbutils提供了一个便捷的方法来处理这种情况。例如,使用`QueryRunner`的`batch`方法,可以一次性提交多条SQL,减少了网络通信和数据库解析的开销...

    dbutils dbutils dbutils dbutils

    DBUtils 是一个非常重要的 Python 模块,专为数据库连接设计,它在 Python 的数据库应用开发中扮演着不可或缺的角色。这个模块主要目的是提供一个稳定、健壮的接口,用于管理和操作数据库连接,使得开发者能够更方便...

    利用dbutils实现登录功能

    自己写的一个登录功能,利用dbutils(c3p0连接池)实现登录,每个都有注释,亲测可用

    DButils 的源代码

    DButils 是一个非常实用的 Java 数据库连接工具包,它主要为 JDBC 提供了一些便捷的、高度封装的辅助类和方法,简化了数据库操作。HSQldb 是一个纯 Java 的关系型数据库管理系统,常用于测试和小型应用。在这个场景...

    dbutils-1.6

    DBUtils支持与多种连接池(如C3P0、DBCP、HikariCP等)配合使用,可以自动管理数据库连接,提高性能和资源利用率。 5. **事务管理**: DBUtils提供了一套简单的事务管理机制,可以方便地控制数据库事务的提交和...

    Apache DBUtils使用总结

    在需要的地方,你可以将 DBUtils 与原生的 JDBC 代码混合使用,以获得更高的灵活性。 2. **JavaBean 规范**:DBUtils 自动将结果集转换为 JavaBean 时,要求 Bean 遵循 JavaBean 规范,即包含对应的 getter 和 ...

    Dbutils 的jar包

    1. **QueryRunner**:这是一个非常重要的类,它提供了执行SQL语句的方法,包括查询、更新(插入、删除、修改)以及批量操作。QueryRunner支持预编译的PreparedStatement,能有效防止SQL注入攻击。 2. **...

    commons-dbutils-1.3.zip

    7. **代码简洁性**:使用DBUtils,开发者可以避免编写大量的样板代码,如手动创建和关闭连接、结果集和陈述句,这使得代码更简洁,更易于维护。 在实际开发中,结合Mysql数据库,DBUtils可以很好地帮助开发者完成...

    python的DBUtils包

    下面将详细阐述DBUtils的核心功能、使用方法以及如何将其安装到Python环境中。 1. **DBUtils的核心功能**: - **线程安全**:DBUtils通过在每个线程中创建数据库连接的本地副本,确保了线程间的数据库操作不会相互...

    JDBC及DBUtils

    在实际开发中,使用DBUtils可以极大地提高代码的可读性和可维护性,同时减少可能出现的资源泄露等问题。例如,使用DBUtils的QueryRunner类,执行查询操作只需如下代码: ```java QueryRunner runner = new Query...

    DbUtils的Jar包

    DbUtils是一个在Java开发中广泛使用的数据库操作工具库,它简化了JDBC(Java Database Connectivity)的使用,提供了...通过这些文件,开发者可以轻松地将DbUtils集成到自己的项目中,充分利用其优势,简化数据库操作。

    commons-dbutils-1.7

    例如,`query()`方法用于执行查询,`update()`方法用于执行DML(插入、更新、删除)操作。这些方法支持使用预编译的PreparedStatement,防止SQL注入攻击,并能自动处理异常,确保即使在出现错误时也能正确关闭资源。...

    SpringBoot、Apache Dbutils、MybatisPlus、JPA等技术项目代码生成工具x64 Jar

    Springmvc、Apache Dbutils、SpringBoot、Mybatis、MybatisPlus、SpringDataJPA等技术项目代码生成工具,此工具源码请关注https://gitee.com/00fly/javacode-all-in-one

    DbUtils数据库查询工具包 v1.8.1.zip

    DbUtils是Apache组织提供的一款Java数据库操作工具包,它的全称是Apache Commons DbUtils。DbUtils的主要目的是简化数据库...模板建站和系统软件工具也可以利用DbUtils简化数据库操作部分,使代码更加简洁和易于维护。

    模仿DBUtils(自己模仿DBUtils写的简易DBUtils)

    DBUtils是Apache Commons库中的一个组件,它提供了一套简单易用的数据库操作API,用于简化Java中的数据库访问。在本项目中,你将找到一个自己编写的简易DBUtils实现,虽然它不是Apache官方的DBUtils,但其设计思想和...

    DbUtils-1.7.zip

    这个版本可能包含了DbUtils的二进制(bin)和源代码(src)两个部分,分别对应于"commons-dbutils-1.7-bin.zip"和"commons-dbutils-1.7-src.zip"这两个文件。 DbUtils的主要功能是作为一个数据库访问的辅助工具,它...

    DBUtils文档+源码

    DBUtils是Apache软件基金会下的一个开源Java库,它提供了一个简单且健壮的数据库连接工具。这个库的主要目的是简化数据库...通过深入学习和理解DBUtils的源码,我们可以更好地利用这个库,并提升我们的数据库编程能力。

    apache dbutils中文说明

    Apache DBUtils是一个开源的Java库,它为Java程序员提供了便捷的方式来处理JDBC(Java Database Connectivity)...通过利用DBUtils,Java开发者可以在不引入重量级ORM框架的情况下,更高效、安全地与数据库进行交互。

    commons-dbutils-1.4.jar

    在使用"commons-dbutils-1.4.jar"时,你需要将其添加到你的项目类路径中,然后通过导入相应的类和方法,就可以利用其功能进行数据库操作。虽然1.4版本较旧,但依然适用于许多基于JDBC的项目,尤其是那些对新特性需求...

Global site tag (gtag.js) - Google Analytics