MyBatis快速入门(17)注解映射方式

mybatis注解方式就是将SQL语句直接写在接口上,优点是对于需求简单,SQL语句简单的系统,开发效率高,不用写xml文件。缺点是当SQL有变化时,需要从新编译代码,一般情况下,不建议使用注解方式,还是建议使用xml映射文件的方式,下面简单介绍一下注解方式。

 

 

 

 

Select注解

首先来看注解形式的查询写法:

使用注解就是在方法接口上面写增删改查四种形式的注解,并把SQL语句写在@Select注解里面,写法上和xml文件中没什么区别,关于参数上的注解,其实单个参数是不用加的,mybatis根据类型也能推断出来,但是多个就必须要加,这里为了整齐,都会加上。

除了传参还要考虑查询结果的映射问题,除了在SQL语句上使用别名和单独配置resultMap之外,还有就是配置驼峰形式的自动映射,前面也提到过,配置方法如下:

<setting name="mapUnderscoreToCamelCase" value="true"/>

使用这种方式,遇到下划线连接的自动,会自动进行下划线转驼峰进行自动映射。

 

 

 

 

resultMap注解

resultMap标签也有一个对应的注解@Results,下面来看一个例子:

逻辑上和使用标签差不多,注意上面的id=true,表示对应的是<id>标签。在注解里定义resultMap也可以实现公用,需要加上id:

这样在别的地方使用就可以了:

 

 

 

 

 

Insert注解

来看一个例子:

注意参数的传递。返回自增主键:

定义返回主键使用的是@Options注解,逻辑上很简单,不再描述。

 

 

 

 

 

 

Update和Delete注解

来看一个例子:

 

 

 

 

 

 

 

Provider注解

除了上面提供的四种基本注解之外,mybatis还提供了了四种Provider注解,分别是@SelectProvider、@UpdateProvider、@InsertProvider和@DeleteProvider注解,同样可以实现增删改查操作,下面举一个查询的例子:

可以看到,我们的SQL语句并不在这里直接写的,而是在另一个类里面定义的,下面看一下另一个类:

Java程序员面对的最痛苦的事情之一就是在Java代码中嵌入SQL语句。这么来做通常是由于SQL语句需要动态来生成-否则可以将它们放到外部文件或者存储过程中。正如你已经看到的那样,MyBatis在它的XML映射特性中有一个强大的动态SQL生成方案。但有时在Java代码内部创建SQL语句也是必要的。MyBatis 使用SQL类,简单地创建一个实例来调用方法生成SQL语句,例如上面示例中那样。

注解的方式就讨论到这里,由于不是主流,不再深入学习。

 

 

代码地址:https://gitee.com/blueses/mybatis-demo  09

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值