Mybatis常用注解简介说明

本文介绍了MyBatis中常用的注解,如@CacheNamespace、@CacheNamespaceRef、@Results、@Result等,展示了如何使用这些注解进行简单查询、插入、更新、删除操作,以及如何处理一对一和多对多关系。通过实例,读者将理解如何利用注解实现动态SQL和懒加载策略。

转自:

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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值