获得MySQL数据库自动生成的主键
2016-08-24 21:54
323 查看
有时候在开发中要获得MySQL数据库自动生成的主键,那么如何获得呢?
我们可以查看JDK API 1.6.0文档,就能知道Connection接口里面有一个如下方法:
autoGeneratedKeys:指示是否应该返回自动生成的键的标志,它是
测试脚本如下:
测试代码:
注意:
默认是不返回自动生成的主键的。
我们可以查看JDK API 1.6.0文档,就能知道Connection接口里面有一个如下方法:
autoGeneratedKeys:指示是否应该返回自动生成的键的标志,它是
Statement.RETURN_GENERATED_KEYS或
Statement.NO_GENERATED_KEYS之一 。
测试脚本如下:
create table test ( id int primary key auto_increment, name varchar(40) );
测试代码:
public class Demo4 {
/*
create table test ( id int primary key auto_increment, name varchar(40) );
*/
// 获取自动生成的主键
public static void main(String[] args) throws SQLException {
Connection conn = null;
PreparedStatement st = null;
ResultSet rs = null;
try {
conn = JdbcUtils.getConnection();
String sql = "insert into test(name) values('yelei')";
/*
* PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
* autoGeneratedKeys - 指示是否应该返回自动生成的键的标志,它是 Statement.RETURN_GENERATED_KEYS或Statement.NO_GENERATED_KEYS之一
*
* st = conn.prepareStatement(sql)默认是不返回自动生成的主键
s */
st = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); // Statement.RETURN_GENERATED_KEYS参数——是否得到sql语句生产的主键
st.executeUpdate();
rs = st.getGeneratedKeys();
if (rs.next()) {
System.out.println(rs.getInt(1));
}
} finally {
JdbcUtils.release(conn, st, rs);
}
}
}
注意:
st = conn.prepareStatement(sql);
默认是不返回自动生成的主键的。
相关文章推荐
- MySQL命令整理
- MySQL(十)运算符
- mySql联合两个查询结果用UNION或者UNION ALL
- 关于mysql绿色版安装遇到问题的处理
- Mysql视图
- mysql 创建和查询数据库和表格
- mysql5.7的archive版本在win10下安装小记
- mysql主从复制配置
- MySQL数据库的增删改查
- MYSQL不能连接了,错误ERROR 1129 (00000): Host ” is blocked because of many connection errors;
- MySQL简介
- mysqldump用法
- MySQL常用命令
- Mysql基本操作(二)
- mysql中用光标循环中使用动态sql
- mysql创建用户和创建数据库赋值用户操作权限
- Maridb/mysql 源码阅读1
- mysql中间件研究(Atlas,cobar,TDDL、sharding-jdbc)
- MySQL锁解决并发问题详解
- ubuntu mysql 完全卸载