如何向数据库添加时同时返回ID

如何向数据库添加时同时返回ID,第1张

public void save(Person p) throws SQLException {

String sql = "insert into person (name,pwd,sex,age,email,loves) values(?,?,?,?,?,?)"

Connection conn = DbUtil.getConnection()

PreparedStatement pst = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS)

pst.setString(1, p.getName())

pst.setString(2, p.getPwd())

pst.setString(3, p.getSex())

pst.setInt(4, p.getAge())

pst.setString(5, p.getEmail())

StringBuffer loves = new StringBuffer("")

//将爱好信息拼成字符串

for(String s:p.getLoves()){

loves.append(s)

loves.append(",")

}

//如果用户没选择爱好,则写入""

if(loves.length()>0){

loves.substring(0, loves.length()-1)

pst.setString(6, loves.toString())

}else{

pst.setString(6,"")

}

pst.executeUpdate()

ResultSet rs = pst.getGeneratedKeys()

rs.next()

int id = rs.getInt(1)

p.setId(id)

DbUtil.closeConnection(conn)

}

你可以再程序中,使用parameters[0].Direction = ParameterDirection.Output来接收SQL给你返回的值,也可以在存储过程中最后添加完那里加入select @@IDENTITY 直接查询最后一个插入的ID值。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11625009.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存