用惯了mybatis这个持久层框架,一时间再次使用jdbc感到有些不适应
尤其是写sql的地方需要对sql进行拼接,有条件的时候尤其麻烦
当我添加一条数据的时候要得到它的主键,总不能在查一次得到主键吧,
于是试验了好多次,查了许多资料,得到返回主键代码如下
@Override
public int addTcarPhone(String contacePhone, String driverName, String exhibitionName) {
String sql = "INSERT INTO t_car_phone(phone,car_no,exhibition) VALUES('" + contacePhone + "','" + driverName
+ "','" + exhibitionName + "')";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(new PreparedStatementCreator() {
public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
return ps;
}
}, keyHolder);
return keyHolder.getKey().intValue();
}
return的是一个int值,如果要返回long值得话可以 return keyHolder.getKey().longValue(); 返回一个long值</