如题:我要获取我当前插入的行的id
String sql = "insert into customer (cname,type,roles,created,bind_code) values(?,?,?,?,?)";
return getJdbcTemplate().update(sql, new Object[]{customer.getCname(),
customer.getType(),
customer.getRoles(),
new Date(),
customer.getBind_code()});jdbc可有这样的方法?
如果我自己查:
private static String QUERY_CUSTOMER_MAXID = "select max(1) from vis_customer order by cid desc";
那我获取值杂获取啊?
一个愚笨问题!
谢谢各位!
我把getJdbcTemplate()的方法翻了一遍也没找到合适的。不知道是不是我方法不对。
String sql = "insert into customer (cname,type,roles,created,bind_code) values(?,?,?,?,?)";
return getJdbcTemplate().update(sql, new Object[]{customer.getCname(),
customer.getType(),
customer.getRoles(),
new Date(),
customer.getBind_code()});jdbc可有这样的方法?
如果我自己查:
private static String QUERY_CUSTOMER_MAXID = "select max(1) from vis_customer order by cid desc";
那我获取值杂获取啊?
一个愚笨问题!
谢谢各位!
我把getJdbcTemplate()的方法翻了一遍也没找到合适的。不知道是不是我方法不对。
问题已解决!
就当我在自己写笔记吧。
自己太笨了
看来还是没仔细的原因
当我自己查的时候:
private static String QUERY_CUSTOMER_MAXID = "select max(1) from customer order by cid desc";
@Override
public int getMaxID() {
return getJdbcTemplate().queryForInt(QUERY_CUSTOMER_MAXID);
}
这样可以取了。
但是我还是想知道有没有直接的方法在插入的时候可以一起把当前id返回的呢?
刚试了下,直接在mysql控制台后,执行完后是返回一个整形,但是杂是0呢?数据库插入值了。结果却返回是0!在程序中,像你那样写就出错了。o(∩_∩)o...哈哈
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'select @@identity' at line 1继续研究!