MyBatis注解开发
MyBatis常用注解
将映射文件替换为注解:
public interface UserMapper {
@Insert("insert into user value (...)")
public void save(User user);
@Update("")
public List<User> findAll();
}
其他delete,select等注解类似
之后将之前核心配置文件中的加载映射文件代码换成:
<mappers>
<!-- 指定接口所在包-->
<package name="com.xxx.Mapper"/>
</mappers>
一对一:
方法一
@Insert("insert into user value (...)")
@Results({
@Result(column = "oid",property = "id")
@Result(column = "oid",property = "id")
@Result(column = "oid",property = "id")
})
public void save(User user);
方法二
@Select("select * from orders ")
@Results({
@Result(column = "oid",property = "id"),
@Result(column = "oid",property = "id"),
@Result(column = "oid",property = "id"),
@Result(
property = "user",//要封装的属性名称
column = "uid",//根据那个字段来查询另外一个表数据
javaType = User.class,//要封装的实体类型
//select属性代表那个接口方法获得数据,findById是我们写好的一个带select注解的接口方法用来查询id相同的
one=@One(select = "com.xxx.mapper.UserMapper.findById")
)
})
public void save(User user);
一对多:
@Select("select * from user ")
@Results({
@Result(id = true, column = "id", property = "id"),
@Result(column = "oid", property = "id"),
@Result(column = "oid", property = "id"),
@Result(property = "orderList",
column = "id",
javaType = List.class,
many = @Many(select = "com.xxx.mapper.findById")
)
})
public void save(User user);
多对多:
@Select("select * from user ")
@Results({
@Result(id = true, column = "id", property = "id"),
@Result(column = "username", property = "username"),
@Result(column = "password", property = "password"),
@Result(property = "roleList",
column = "id",
javaType = List.class,
many = @Many(select = "com.xxx.mapper.findByUid")
)
})
public void save(User user);
@Select("select * from sys_user_role ur,sys_role r where ur.roleId=r.id And ur.userId=#{uid")
public void findByUid(User user);
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/195240.html