NutzCN Logo
问答 nutz sql插入数据获得自增Id问题(并发)?
发布于 1120天前 作者 lmm1990 744 次浏览 复制 上一个帖子 下一个帖子
标签: dao

用sql形式插入数据并获得插入Id,可以用以下方式实现,如何解决并发问题呢?插入时用事务还是?

Sql sql = Sqls.create("insert into User(Name) values(@name)");
sql.setParam("name","张三");
adSpaceDAO.execute(sql);
System.out.println(adSpaceDAO.getMaxId(Test.class));

4 回复

数据库没有设置自增

Sql sql = Sqls.create("insert into User(Name) values(@name)");
sql.setParam("name","张三");
Sql sql2 = Sqls.fetchInt("select max(id) from User");
adSpaceDAO.execute(sql, sql2); // 会是同一个事务内
int id = sql2.getInteger();

@lmm1990 保险起见, 用Trans包起来确保是一个事务吧

添加回复
请先登陆
回到顶部