Mybatis 常用注解
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(" 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();
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号