MyBatis可以通過以下幾種方式添加數據并返回對象:
insert
語句添加數據并返回自動生成的主鍵值:// 定義一個mapper接口方法
void insertUser(User user);
// 使用Mapper XML配置文件
<insert id="insertUser" parameterType="com.example.User">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
// 調用mapper接口方法,并獲得自動生成的主鍵值
userMapper.insertUser(user);
System.out.println(user.getId());
selectKey
標簽在插入語句中獲取自動生成的主鍵值:// 使用Mapper XML配置文件
<insert id="insertUser" parameterType="com.example.User">
<selectKey keyProperty="id" resultType="int" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
// 調用mapper接口方法,主鍵值會被設置到user實例中
userMapper.insertUser(user);
System.out.println(user.getId());
useGeneratedKeys
標簽在插入語句中獲取自動生成的主鍵值:// 使用Mapper XML配置文件
<insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
// 調用mapper接口方法,主鍵值會被設置到user實例中
userMapper.insertUser(user);
System.out.println(user.getId());
注意:以上方法都需要在MyBatis的配置文件中開啟自動生成主鍵的功能。