作者:大三的土狗
专栏:SSM 框架
导航
1、MyBatis的常用注解
这几年来注解开发越来越流行,Mybatis也可以使用注解开发方式,这样我们就可以减少编写Mapper 映射文件了。
- @Insert:实现新增
- @Update:实现更新
- @Delete:实现删除
- @Select:实现查询
- @Result:实现结果集封装
- @Results:可以与@Result 一起使用,封装多个结果集
- @One:实现一对一结果集封装
- @Many:实现一对多结果集封装
2、MyBatis注解方式的增删改查
修改MyBatis的核心配置文件,我们使用了注解替代的映射文件,所以我们只需要加载使用了注解的Mapper接口即可。
<!--加载映射关系-->
<mappers>
<!--指定接口所在的包-->
<package name="com.xmp.mapper"></package>
</mappers>
- 增
@Insert("insert into user values(#{id},#{username},#{password},#{birthday})")
public void save(User user);
- 删
@Update("update user set username=#{username},password=#{password} where id=#{id}")
public void update(User user);
- 改
@Delete("delete from user where id=#{id}")
public void delete(int id);
- 查
@Select("select * from user where id=#{id}")
public User findById(int id);
@Select("select * from user")
public List<User> findAll();
3、MyBatis的注解实现复杂映射
实现复杂关系映射之前我们可以在映射文件中通过配置来实现,使用注解开发后,我们可以使用@Results注解 ,@Result注解,@One注解,@Many注解组合完成复杂关系的配置。
注解 | 说明 |
---|---|
@Results | 代替的是标签该注解中可以使用单个@Result注解,也可以使用@Result集 合。使用格式:@Results({@Result(),@Result()})或@Results(@Result()) |
@Resut | 代替了标签和标签 @Result中属性介绍: column:数据库的列名 property:需要装配的属性名 one:需要使用的@One 注解(@Result(one=@One)())) many:需要使用的@Many 注解(@Result(many=@many)())) |
@One (一对一) | 代替了 标签,是多表查询的关键,在注解中用来指定子查询返回单一对象。 @One注解属性介绍: select: 指定用来多表查询的 sqlmapper 使用格式:@Result(column=" “,property=”“,one=@One(select=”")) |
@Many (多对一) | 代替了标签, 是是多表查询的关键,在注解中用来指定子查询返回对象集合。 使用格式:@ |