mysql jdbc 如何获取id_JDBC 获取被插入数据的主键ID值

除了用存储过程还有以下方法可以获取:

static int create() throws SQLException {

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

// 2.建立连接

conn = JdbcUtils.getConnection();

// conn = JdbcUtilsSing.getInstance().getConnection();

// 3.创建语句

String sql = "insert into user(name,birthday, money) values ('name2 gk', '1987-01-01', 400) ";

ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);//参数2最好写上,虽然Mysql不写也能获取但是不代表别的数据库可以做到

ps.executeUpdate();

rs = ps.getGeneratedKeys();

int id = 0;

if (rs.next())

id = rs.getInt(1);

return id;

} finally {

JdbcUtils.free(rs, ps, conn);

}

}

getGeneratedKeys ResultSet getGeneratedKeys()

throws SQLException

获取由于执行此 Statement 对象而创建的所有自动生成的键。如果此 Statement 对象没有生成任何键,则返回空的 ResultSet 对象。

注:如果未指定表示自动生成键的列,则 JDBC 驱动程序实现将确定最能表示自动生成键的列。返回:包含通过执行此 Statement 对象自动生成的键的 ResultSet 对象抛出:Statement 上调用此方法从以下版本开始:1.4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值