MyBatis可以通过以下几种方式添加数据并返回对象:
- 使用
insert
语句添加数据并返回自动生成的主键值:
// 定义一个mapper接口方法 void insertUser(User user); // 使用Mapper XML配置文件INSERT INTO user (name, age) VALUES (#{name}, #{age}) // 调用mapper接口方法,并获得自动生成的主键值 userMapper.insertUser(user); System.out.println(user.getId());
- 使用
selectKey
标签在插入语句中获取自动生成的主键值:
// 使用Mapper XML配置文件// 调用mapper接口方法,主键值会被设置到user实例中 userMapper.insertUser(user); System.out.println(user.getId()); SELECT LAST_INSERT_ID() INSERT INTO user (name, age) VALUES (#{name}, #{age})
- 使用
useGeneratedKeys
标签在插入语句中获取自动生成的主键值:
// 使用Mapper XML配置文件INSERT INTO user (name, age) VALUES (#{name}, #{age}) // 调用mapper接口方法,主键值会被设置到user实例中 userMapper.insertUser(user); System.out.println(user.getId());
注意:以上方法都需要在MyBatis的配置文件中开启自动生成主键的功能。