mybatis的注解开发

首先 配置好sqlmapconfig.xml中的相关属性
然后在mapper包中进行注解开发
@Insert注解
注解属性value:写入sql语句
@Options注解
1.实现添加新数据的主键封装
2.注解属性:
useGenerateKeys:使用生成的主键,配置为true
keyProperty:主键封装的pojo对象属性
@SelectKey注解
1.实现添加数据的主键封装
2.注解属性
statement:要执行的sql语句
before:在添加sql语句之前还是之后进行,配置为false
KeyProperty:主键封装的pojo对象属性
@Update注解
注解实现更新数据
value值 sql语句
@Delete 注解
注解实现删除操作
@Select注解
注解实现查询操作
动态sql语句 之where和if

@Select(“

动态sql语句之foreach
@Select("< script>select id,username,sex,birthday,address from user" +
“<foreach collection = “list” open = “where id in(” close = “)” separator = “,” item = “item”>” +
“#{item}” +
“< /foreach>” +
“< /script>”)
List< User> queryUserByListIds(List< Integer> ids);

注意:在拼接这些语句时需要加一个< script>标签 告诉mybatis这是sql语句

@Results注解
配置手动映射 取代resultMap标签
@Result 注解 配置手动映射 取代result标签

@Select(" SELECT o.id,o.user_id,o.number,o.createtime,o.note FROM orders o")
@Results({
//配置主键映射,id默认false,不是主键
@Result(id = true,column = “id”,property = “id”),
//配置其他映射关系
@Result(column = “user_id”,property = “userId”),
@Result(column = “number”,property = “number”),
@Result(column = “createtime”,property = “createtime”),
@Result(column = “note”,property = “note”),
/*
配置关联查询用户表
property查询的pojo对象哪个属性做为条件查询
这个属性还是个pojo对象
column查询条件的pojo对象的属性
@One注解配置一对一的另一个查询语句
此语句需要对应的接口方法出现
*/
@Result(column = “user_id”,property = “user”,javaType = User.class,
one = @One(select = “com.itheima.mapper.UserMapper.queryUserByUserId”,fetchType = FetchType.LAZY))
})
List< Orders> queryOrdersUser();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值