xml形式
实体
private int id;
private String username;
private String password;
//get()andset()...
数据库字段一样 id是主键自动递增
Mapper接口
public interface UserMapper {
// 保存新数据后返回新数据的id
public void saveFanhuiId(User user);
}
Mapper.xml
<!--获取新插入数据的id-->
<insert id="saveFanhuiId" parameterType="user">
insert into user(username,password) values(#{username},#{password})
/* 获取返回新数据的类型 数据库中的字段*/
<selectKey resultType="int" keyProperty="id">
select @@identity
</selectKey>
</insert>
注解形式
实体数据库一样的
Mapper接口
public interface UserMapper {
// 保存新数据后返回新数据的id
@Insert("insert into user(username,password) values(#{username},#{password})")
// 实体中的属性名 字段
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
public void saveFanhuiId(User user);
}
1.MyBatis的@Options注解能够设置缓存时间,能够为对象生成自增的主键值,一般应用于两种场景。
2.useGeneratedKeys :默认 false ,作用:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。