分享牛,分享牛原创.ssm整合的时候,我们操作mybatis insert 的时候,需要返回插入的主键,因为主键是自增的,这个时候怎么办呢?很简单看一下下面的代码示例: 1.1.1. 代码定义 public interface IBaseService<M,QM extends BaseModel> { public void create(M m); public int createAndRetuenId(M m); public void update(M m); public void…
MyBatis如果使用useGeneratedKeys去生成自增列会造成不成功,因为官方提供只支持这些数据库:mybatis generatedkeys,那么如果要用在oracle和postgresql上,就必须知道它们的自增列是通过序列进行完成的,所以根据这个思路可以在插入的时候调用序列获取下一个值,然后再插入,序列的问题不会有并发问题,因为每次操作都必须在同一个session中,每个session调用序列都是隔离的.那么可以通过selectKey来调用序列. 第一种: long saveJo…
public int insertCustomer(final Customer customer) { //TODO. final String sql = "insert into customer (mobile,nickname,password,score,avatar,push_key,reg_time) values(?,?,?,?,?,?,now())"; KeyHolder keyHolder = new GeneratedK…
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User(); user.setUserName("chenzhou"); user.setPassword("xxxx"); user.setComment("测试插入数据返回主键功能"); System.out.println("插入前主键为:…
1.Java代码: 1.1 entity类: User.java public class User { private int userId; private String userName; private String password; private String comment; //这里要添加 setter and getter 略 } 1.2 DAO类: UserDao.java public interface UserDao { public int insertAndGe…