HTML/JS转换工具
Unicode编码转换
当前位置:首页 > 数据库 > MySQL > 

mysql自动生成java java获取mysql自动生成的id

来源:IT技术网编辑:雨天发布于:2017-05-18人围观

因为业务原因,有时候你会想要获取刚刚插入数据库中的数据自动生成的id,在网上搜索了这个方法,结果发现很多的资料

都是都抄来抄去,也根本不管能不能用!都漏掉了关键的一步!

下面我就来说说JDBC插入数据时当中获取mysql自动增长的id值

这是使用PreparedStatement的方法

String sql = "insert into repayment(loanID,reqMoney,reDeadLine,factReTime,status,userID)"

+" values(?,?,?,?,?,?)";

ResultSet re  =null;

Connection con = DbUtil.getConnetion();

PreparedStatement pre =null;

try {

pre= con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);

pre.setInt(1, repayment.getLoanID());

pre.setFloat(2, repayment.getReqMoney());

pre.setInt(3, repayment.getReDeadTime());

pre.setDate(4, new Date(repayment.getFactRetime().getTime()));

pre.setString(5, repayment.getStatus());

pre.setInt(6, repayment.getUserID());

pre.executeUpdate();

re = pre.getGeneratedKeys();

if(re!=null){

re.next();

System.out.println(re.getInt(1));

}

这里面关键的两步就是 

1.pre= con.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);//表示要获取生成的id
2.re = pre.getGeneratedKeys();//这是拿到获取的id

当你在使用这个结果集的时候

记住要先判断re是否为空,否则有时候可能因为数据插入错误导致空指针异常!然后调用next()方法 这样才能拿到

自动生成的id

织梦二维码生成器

与相关的文章
有时间的话来看看IT界的突发事件
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片