从零开始学JDBC--1.12 插入一行数据同时获取自增长列

1.建表语句:包含id、用户名、密码

DROP TABLE  IF EXISTS  users ;

CREATE TABLE users(
    id INT PRIMARY KEY AUTO_INCREMENT,
    userName VARCHAR(20),
    pwd VARCHAR(20)
)

2.代码实现

两个重要方法:

在参数中指定返回自增长列:
con.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);
在执行更新后,获取自增长列:
pstmt.getGeneratedKeys()

    @Test
    public void testGetAutoIncrement2() {
        String sql = "insert into users(userName,pwd) values(?,?)";
        try {
            // 1.获取连接
            con = JdbcUtil.getConnection();
            // 2.创建pstmt对象[在参数中指定返回自增长列]
            pstmt = con.prepareStatement(sql,PreparedStatement.RETURN_GENERATED_KEYS);
            // 设置参数
            pstmt.setString(1, "rose");
            pstmt.setString(2, "999");
            //3.执行sql
            pstmt.executeUpdate();

            //【在执行更新后,获取自增长列】
            ResultSet rs = pstmt.getGeneratedKeys();//alt+shift+L
            if(rs.next()){
                System.out.println("刚才插入数据的自增长列是:"+ rs.getInt(1));
            }
        } catch (Exception e) {
            e.printStackTrace();

        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值