博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot学习三:整合Mybatis
阅读量:6612 次
发布时间:2019-06-24

本文共 5118 字,大约阅读时间需要 17 分钟。

Mybatis环境搭建

  1. 配置依赖

将我们第一次创建项目时注释的关于Mybatis与JDBC依赖打开。

4.0.0
online.suiyu
springboot-demo
0.0.1-SNAPSHOT
jar
springboot-demo
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.0.3.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-jdbc
mysql
mysql-connector-java
runtime
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.2
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
io.springfox
springfox-swagger2
2.5.0
io.springfox
springfox-swagger-ui
2.5.0
org.springframework.boot
spring-boot-maven-plugin
复制代码
  1. 修改Controller添加访问路径
package online.suiyu.springbootdemo.controller;@Api("测试类")@RestController@RequestMapping("index")public class IndexController {    @Autowired    private UserService userService;    @ApiOperation(value = "index", notes = "测试方法", tags = {
"hello"}) @RequestMapping(value = "/hello", method = RequestMethod.GET) public String index() { return "Hello,World!"; } @ApiOperation(value = "getAllUser", notes = "获取所有的内容", tags = "user") @RequestMapping(value = "/getalluser", method = RequestMethod.GET) public List
getAllUser() { return userService.getAllUser(); } @ApiOperation(value = "getUserBySex", notes = "通过性别获取user", tags = "user") @RequestMapping(value = "/getuserbysex", method = RequestMethod.GET) public List
getUserBySex(@RequestParam(value = "sex", required = true) String sex) { return userService.getUserBySex(sex); }}复制代码

对于上方代码,IDEA针对@Autowired报了一个警告Spring Team recommends "Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies". Spring推荐使用构造器来注入bean 所以,程序中的bean引入应该写成这样:

private final UserDao userDao;@Autowiredpublic UserServiceImpl(UserDao userDao) {    this.userDao = userDao;}复制代码

了解更多,

  1. 修改service
package online.suiyu.springbootdemo.service;@Servicepublic class UserService {    @Autowired    private UserMapper userMapper;    public List
getAllUser() { return userMapper.getAllUser(); } public List
getUserBySex(String sex) { return userMapper.getUserBySex(sex); }}复制代码
  1. 创建mybatis的xml配置文件 namespace名称需要与对应的DAO接口对齐
复制代码
  1. 创建与xml配置文件对应的DAO接口 getUserBySex()方法使用了注解形式,简单的增删改查可以使用注解方式。
package online.suiyu.springbootdemo.mapper;@Componentpublic interface UserMapper {    List
getAllUser(); @Select("select * from user where sex = #{sex}") List
getUserBySex(String sex);}复制代码
  1. 在入口类中添加@MapperScan
@SpringBootApplication@MapperScan("online.suiyu.springbootdemo.mapper")public class SpringbootDemoApplication {    public static void main(String[] args) {        SpringApplication.run(SpringbootDemoApplication.class, args);    }}复制代码
  1. 在配置文件application.yml中配置Mybatis
mybatis:  mapper-locations: classpath:mapper/*.xml  type-aliases-package: online.suiyu.springbootdemo.vo复制代码

可以看出配置的主要是resource中的Mapper.xml文件与javabean文件。

至此,SpringBoot整合Mybatis完成,其项目结构为

如果出现异常,一般都是接口与xml文件对不齐。

添加数据库连接池druid

  1. 添加druid的maven依赖
com.alibaba
druid
1.1.10
复制代码
  1. 配置数据库连接池的参数

为程序体添加事务管理

  1. 在主程序中添加注解@EnableTransactionManagement开启事务管理
  2. 在所需的方法体上加上@Transactional即可
@Override    @Transactional    public boolean addUsers(List
userList) { logger.info("UserServiceImpl.addUsers开始"); int num = userDao.addUsers(userList);// int i = 10 / 0; logger.info("UserServiceImpl.addUsers结束"); return num > 0; }复制代码

转载于:https://juejin.im/post/5bc4833e6fb9a05cd7776db7

你可能感兴趣的文章
Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
查看>>
Atitit.计算机图形图像图片处理原理与概论attilax总结
查看>>
于ssh端口转发的深入实例[转 - 当当 - 51CTO技术博客
查看>>
从Python安装到语法基础,这才是初学者都能懂的爬虫教程 ...
查看>>
超级AD远程管理软件
查看>>
Oracle数据库安全加固记录
查看>>
安全运维之:Linux系统账户和登录安全
查看>>
【cocos2d-x从c++到js】17:使用FireFox进行JS远程调试
查看>>
Kafka Offset Storage
查看>>
深度学习笔记之CNN(卷积神经网络)基础
查看>>
JAVA设计模式之【原型模式】
查看>>
Hadoop 添加删除数据节点(datanode)
查看>>
33.8. slb configuration
查看>>
ext的window如何隐藏水平滚动条
查看>>
71.8. Run level shell script to start Oracle 10g services on RedHat Enterprise Linux (RHAS 4)
查看>>
SAP QM Transfer of Inspection Stock
查看>>
全新视觉| 数治省市:SAP大数据构想一切可能
查看>>
ORACLE expdp备份与ORA-31693、ORA-02354、ORA-02149
查看>>
DBMS_STATS.GATHER_TABLE_STATS
查看>>
Java-单机版的书店管理系统(练习设计模块和思想_系列 五 )
查看>>