`

jdbc insert数据后获取ID

阅读更多

有时insert数据,数据ID为自动生成,需要获取ID。

 

以下就是获取ID的方法:

public static String insertByID(String sql,IDataBaseBean bean,ArrayList<Object> keyvalueList,ArrayList<Class<?>> classtypeList,SingleDataSource datasource) throws SQLException{
	Connection conn = null;
	try {
		conn = datasource.getConnection();
                //这里设置返回值
		PreparedStatement ps = conn.prepareStatement(sql,new String[]{"ID"});
		setPreparedValue(ps, keyvalueList, classtypeList);//设置preparedStatement值
		ps.executeQuery();
		ResultSet rs = ps.getGeneratedKeys(); 
		if(rs!=null && rs.next())
		{
			return String.valueOf(rs.getInt(1));//返回主键值
		}
	} finally {
		if(conn!=null)
			conn.close();
	}
	return "";
}

 

 

 

 

 

分享到:
评论

相关推荐

    jdbc基础和参考

    executeUpdate:返回int类型的值,代表的是,操作执行完成后,受影响的数据库的行计数(针对于insert,update,delete) executeQuery:返回的是ResultSet ResultSet:类似于指针或者游标的东西,里边保存的不是所有的...

    NC65通过BaseDAO操作数据库

    * 获取baseDAO * @return */ public BaseDAO getBaseDAO() { if(baseDAO == null){ baseDAO = new BaseDAO(); } return baseDAO; } public void setBaseDAO(BaseDAO baseDAO) { this.baseDAO = baseDAO;...

    ssh(structs,spring,hibernate)框架中的上传下载

     此外lazy="true"说明地返回整个Tfile对象时,并不返回fileContent这个字段的数据,只有在显式调用tfile.getFileContent()方法时才真正从数据库中获取fileContent的数据。这是Hibernate3引入的新特性,对于包含重量...

    MySQL数据库

    insert into jdbc_person values(1,'超人',500),(2,'蝙蝠侠',5000); - 代码参见Demo08.java ###获取自增主键的值 create table team(id int primary key auto_increment,name varchar(10)); create table ...

    springmvcmybatis

    -- &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" lazy-init="false"&gt; ${jdbc.driver}" /&gt; ${jdbc.url}" /&gt; ${jdbc.username}" /&gt; ${jdbc.password}" /&gt; ...

    ibatis 开发指南(pdf)

    系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几 条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。 2. 开发规范中要求, 所有牵涉到业务逻辑部分的数据库操作,...

    springmybatis

    Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong'); 到此为止,前期准备工作就完成了。下面开始真正配置mybatis项目了。 1. 在MyBatis 里面创建两个源码目录,分别为 src_user,test_src, 用...

    03开源NewSql数据库TiDB-Deep Dive into TiDB

    1.增加 `Region Merge` 支持,合并数据删除后产生的空 Region [experimental] 2.增加 `Raft Learner` 支持 [experimental] 3.调度器优化 调度器适应不同的 Region size 提升 TiKV 宕机时数据恢复的优先级和恢复速度...

    乐优商城.xmind

    GET 用来获取资源,POST 用来新建资源,PUT 用来更新资源,DELETE 用来删除资源 BUG 分类不能打开,当添加后却能打开。 修改一天的BUG 最后发现是实体类里属性大小写的问题引起。 注意 Bule_bird 就必须写成 ...

    JdbcTemplateTool.zip

    insert into `employee`(`id`,`name`,`join_date`,`age`) values (1,'jack','2014-09-22 00:00:00',23),(2,'ted','2014-08-30 00:00:00',25),(3,'jim','2014-06-22 00:00:00',33);STEP 3. 配置一下spring  ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    7.8 使用GROUPING_ID()来扩展报告 187 7.9 GROUPING SETS与ROLLUP() 191 7.10 GROUP BY局限性 193 7.11 小结 196 第8章 分析函数 197 8.1 示例数据 197 8.2 分析函数剖析 198 8.3 函数列表 199 8.4 聚合函数...

    数据库工具类DatabaseUtil.java

    // - 此观点错误, 因为关闭此对象后有时数据无法读出 //statement.close(); return rs; } catch (Exception ex) { System.out.println("Error in executeQuery(\"" + sql + "\"):" + ex); // ex....

    MYSQL中文手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL...

    MySQL 5.1参考手册中文版

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL...

    mysql官方中文参考手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    MySQL 5.1参考手册

    7.2.1. EXPLAIN语法(获取SELECT相关信息) 7.2.2. 估计查询性能 7.2.3. SELECT查询的速度 7.2.4. MySQL怎样优化WHERE子句 7.2.5. 范围优化 7.2.6. 索引合并优化 7.2.7. MySQL如何优化IS NULL 7.2.8. MySQL如何优化...

    MySQL5.1参考手册官方简体中文版

    获取最新CHM及PDF版本,请访问:hemon.ecjtu.net 。 张伟,华东交通大学。 摘要 这是MySQL参考手册 它涉及MySQL 5.1至5.1.2-alpha版本。 文档生成于: 2005-11-15 ----------------------------------------...

Global site tag (gtag.js) - Google Analytics