(jdbc)取得数据库自动生成的主键方法
一些类,在前面的博客中有,就不重复了
public class Test2 {
TestDAO t=new TestDAO();
/*前提是数据表的主键是自动增加的,
*取得数据库自动生成的主键
* */
@Test
public void testGetKeyValues() throws Exception{
Connection connection=null;
PreparedStatement preparedStatement=null;
try {
String sql="insert into customer(name,email,birth) values(?,?,?)";
connection=t.getConnection();
//在插入的同时获得数据的主键值
preparedStatement=connection.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS);
//开始填充值:
preparedStatement.setString(1, "jiapa");
preparedStatement.setString(2, "aiqiyi.com");
preparedStatement.setDate(3,new Date(new java.util.Date().getTime()));
//更新操作
preparedStatement.executeUpdate();
//通过一个方法返回主键值
//通过getGeneratedKeys()方法,获取了新生成的主键resultset对象
ResultSet rs=preparedStatement.getGeneratedKeys();
if(rs.next()){
System.out.println(rs.getObject(1));
}
ResultSetMetaData rsmd=(ResultSetMetaData) rs.getMetaData();
for(int i=0;i<rsmd.getColumnCount();i++){
System.out.println(rsmd.getColumnName(i+1)+":"
+rs.getObject(rsmd.getColumnName(i+1)));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
t.close(connection, preparedStatement, null);
}
}
}
最新文章
- react-native 踩坑记
- ADO.NET 学习笔记 入门教程
- js实现网页瀑布流布局
- [专题汇总]AC自动机
- paper 74:MATLAB图像处理_HSV与RGB颜色空间互转
- 使用Java 8 API,根据传递的分隔符,连接list中所有的元素
- WeChat Official Account Admin Platform API Introduction
- js格式化数字,金额按千位逗号分隔,负号用括号
- IHS怎么通过80端口连接WAS——<;转>;
- javascript小练习—点击将DIV变成红色(通过for循环遍历)
- python爬虫实战2百度贴吧爬html
- vm_write
- 横向子菜单栏ul根据其子元素li个数动态获取宽度,并与父li绝对垂直居中的jquery代码段
- 后端对数组json_encode,前端遍历输出
- 张高兴的 Xamarin.Android 学习笔记:(二)“Hello World”
- 递归回溯 UVa140 Bandwidth宽带
- 【WebGL入门】画一个旋转的cube
- Linux下编译GDAL
- 一个bat病毒分析(part1)
- 学习用Node.js和Elasticsearch构建搜索引擎(6):实际项目中常用命令使用记录
热门文章
- [转]EntityFramework走马观花之CRUD(下)
- simple python code when @ simplnano
- Java基础之线程——管理线程同步代码块(BankOperation4)
- Tomcat类加载器机制
- 理解JDBC和JNDI
- Linux14.04安装JDK
- JAVA的String 类
- 利用最新版的RubyMine2016.2开发Ruby On Rails 程序
- Python基础(1)python+Eclipse+pydev环境搭建
- C++之路起航——标准模板库(list)