SpringBoot系列-整合Mybatis(注解方式)
目录
上一篇文章《springboot系列-整合mybatis(xml配置方式)》介绍了xml配置方式整合的过程,本文介绍下springboot通过注解方式整合mybatis的过程。
一、常用注解说明
- @mapper
可以给接口自动生成一个实现类,让spring对mapper接口的bean进行管理,并且可以省略去写复杂的xml文件。
- @options
配置映射语句的属性。例如:@options(usegeneratedkeys = true, keycolumn = "id"):指定表的自增主键并自动绑定到实体类对象。
- @result
修饰返回的结果集,关联实体类属性和数据库字段一一对应,如果实体类属性和数据库属性名保持一致,就不需要这个属性来修饰。
- @param
如果你的映射方法的形参有多个,这个注解使用在映射方法的参数上就能为它们取自定义名字。若不给出自定义名字,多参数(不包括 rowbounds 参数)则先以 "param" 作前缀,再加上它们的参数位置作为参数别名。例如 #{param1}, #{param2}。
- @select、@delete、@insert、@update
这四个注解分别代表将会被执行的 sql 语句。它们用字符串数组(或单个字符串)作为参数。如果传递的是字符串数组,字符串之间先会被填充一个空格再连接成单个完整的字符串。
二、实战
新建一个spring boot项目spring-boot-mybatis-annotation,其他代码上一篇文章已经有了,下面列下注解版本的主要代码:
1.映射类usermapper
@mapper public interface usermapper { /* * 查询 所有用户 */ @select("select * from user ") list<user> queryallusers(); /* * 新增数据,并把主键绑定到user实体类 */ @options(usegeneratedkeys = true, keyproperty = "id") @insert("insert into user(name,password) values (#{name},#{password})") public int add(user user); }
2.添加访问控制层
usercontroller代码如下:
/** * usercontroller * * @author: java_suisui */ @slf4j @restcontroller @requestmapping("/user") public class usercontroller { @autowired private userservice userservice; /** * 查询 所有用户 */ @getmapping("/queryallusers") public list<user> queryallusers() { return userservice.queryallusers(); } @getmapping("/add") public user add(user user) { int num = userservice.add(user); return user; } }
三、测试
1.测试查询所有用户
本地打开浏览器,访问http://localhost:8080/user/queryallusers,成功后返回如下结果:
[{"id":1,"name":"张三","password":"123456","sex":0,"des":"无备注"}, {"id":2,"name":"李四","password":"123456","sex":0,"des":"无备注"}]
2.测试新增用户
本地打开浏览器,访问http://localhost:8080/user/add?name=test1&password=123456,成功后返回如下结果:
{"id":13,"name":"test1","password":"123456","sex":null,"des":null}
四、注意事项
1.如果有很多mapper接口如何一次性扫描
直接在程序启动类添加@mapperscan注解即可。
例如:
@mapperscan(basepackages= {"com.example.springboot.mybatisannotation.dao.mapper"})
2.springboot mybatis增加驼峰命名规则
因为是注解版,没有配置文件,所以springboot增加驼峰命名需要增加一个自定义配置类(configurationcustomizer)。
例如:
/** * mybatis 注解版 */ @configuration public class mybatisconfig { @bean public configurationcustomizer configurationcustomizer() { return new configurationcustomizer() { @override public void customize(org.apache.ibatis.session.configuration configuration) { configuration.setmapunderscoretocamelcase(true);//设置驼峰命名规则 } }; } }
到此springboot整合mybatis(xml配置方式)的功能已经全部实现,有问题欢迎留言沟通哦!
完整源码地址:
推荐阅读
1.springboot系列-整合mybatis(xml配置方式)
限时领取免费java相关资料,涵盖了java、redis、mongodb、mysql、zookeeper、spring cloud、dubbo/kafka、hadoop、hbase、flink等高并发分布式、大数据、机器学习等技术。
关注下方公众号即可免费领取:
推荐阅读
-
SpringBoot系列-整合Mybatis(XML配置方式)
-
SpringBoot系列-整合Mybatis(注解方式)
-
Spring+Spring MVC+Mybatis 框架整合开发(半注解半配置文件)
-
SpringBoot无废话入门04:MyBatis整合
-
springboot+springmvc+mybatis项目整合
-
SpringBoot 整合jdbc和mybatis
-
SpringBoot整合mybatis访问时报错Invalid bound statement (not found)
-
手把手教你Dubbo与SpringBoot常用两种方式整合
-
springboot之mybatis注解形式
-
SpringBoot整合Mybatis,SpringMVC简单例子