Mybatis 常用注解对应的目标和标签如表所示:
注解 | 目标 | 对应的 XML 标签 |
@CacheNamespace | 类 | <cache> |
@CacheNamespaceRef | 类 | <cacheRef> |
@Results | 方法 | <resultMap> |
@Result | 方法 | <result> <id> |
@One | 方法 | <association> |
@Many | 方法 | <collection> |
@Insert @Update @Delete | 方法 | <insert> <update> <delete> |
@InsertProvider @UpdateProvider @DeleteProvider @SelectProvider | 方法 | <insert> <update> <delete> <select> 允许创建动态 SQL |
@Param | 参数 | N/A |
@Options | 方法 | 映射语句的属性 |
@select | 方法 |
@Select 简单查询
- @Select("Select * from user")
- @Results({
- @Result(id = true, column = "id", property = "id"),
- @Result(column = "name", property = "name"),
- @Result(column = "tel", property = "tel"),
- @Result(column = "birth", property = "birth"),
- @Result(column = "address", property = "address")
- })
- List<User> queryAllUser();
@Insert 简单插入
- @Insert("insert into user(name,sex,age) values(#{name},#{sex},#{age}" )
- int saveUser(User user);
@Update 简单更新
- @Update("update user set name= #{name} ,sex = #{sex},age =#{age} where id = #{id}")
- void updateUserById(User user);
@Delete 简单删除
- @Delete("delete from user where id =#{id}")
- void deleteById(Integer id);
- @One
- @Select("select * from user where id = #{id}")
- @Results(
- value = {
- @Result(column = "name",property = "name"),
- @Result(column = "type",property = "type",
- //one 指示我们, 查询出来的结果只有一个.
- one = @One(select="com.xxxx.UserMapper.findTypeById",
- // 及时加载
- fetchType = FetchType.EAGER))
- }
- )
- User findUserById(Integer id);
- @Many
- @Select("select * from dept")
- @Results({
- @Result(id = true, column = "did", property = "did"),
- @Result(column = "name", property = "name"),
- @Result(column = "address", property = "address"),
- @Result(column = "id",property = "emps",
- //many 指示我们, 查询出来的结果有很多个
- many = @Many(
- //select = sql 语句
- select = "com.xxxx.EmpMapper.findAllEmpByDid",
- // 懒加载
- fetchType = FetchType.LAZY))
- })
- List<Dept> findAllDept();
来源: http://www.bubuko.com/infodetail-3037877.html