打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Spring Boot 整合 MyBatis

前言

现在业界比较流行的数据操作层框架 MyBatis,下面就讲解下 Springboot 如何整合 MyBatis,这里使用的是xml配置SQL而不是用注解。主要是 SQL 和业务代码应该隔离,方便和 DBA 校对 SQL。

我的Git

https://github.com/JasperZXY/TestSpringCloud/tree/master/boot-feature

由于我很多功能放在同一个项目里面,所以代码看起来没有那么清晰,不过将就看还是可以的。

我的项目结构

src/ +- main/     +- java/        +- zxy.demo.springboot.mybatis             +- entity             +- dao             +- web             |- MainApplicion.java     +- resources/             +- mapper             |- application.properties         

数据库准备

数据库用的是MySQL

CREATE DATABASE test_spring_boot;
CREATE TABLE `user` (  `id` int(11) NOT NULL COMMENT '主键',  `name` varchar(64) NOT NULL COMMENT '姓名',  `birthday` date DEFAULT NULL COMMENT '生日',  `address` varchar(256) DEFAULT NULL COMMENT '地址',  PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

mybatis-generator

如果没有mybatis-generator,可以下载一个。
mybatis-generator的下载地址

使用mybatis-generator工具生成相关文件,实体对象、dao接口、xml文件。

pom.xml

添加必要的依赖

<properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <java.version>1.8</java.version>    <mybatis-spring-boot.version>1.2.0</mybatis-spring-boot.version>    <mysql-connector.version>5.1.39</mysql-connector.version></properties><dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.mybatis.spring.boot</groupId>        <artifactId>mybatis-spring-boot-starter</artifactId>        <version>${mybatis-spring-boot.version}</version>    </dependency>    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>${mysql-connector.version}</version>    </dependency></dependencies>

application.properties

打开 application.properties 文件, 修改相应的数据源配置,比如数据源地址、账号、密码等,如下

spring.datasource.url=jdbc:mysql://localhost:3306/test_spring_boot?useUnicode=true&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Drivermybatis.typeAliasesPackage=zxy.demo.springboot.boot_feature.entitymybatis.mapperLocations=classpath:mapper/*.xml

注意根据自己的实现项目目录进行相应的修改。

  • mybatis.typeAliasesPackage:为实体对象所在的包,跟数据库表一一对应
  • mybatis.mapperLocations:mapper文件的位置

dao

需要配置dao文件,也即操作数据表的接口。

通过@MapperScan注解进行dao文件的扫描,如下

// MyBatis 支持@MapperScan("zxy.demo.springboot.mybatis.dao")@SpringBootApplicationpublic class MainApplicion {    public static void main(String[] args) throws Exception {        SpringApplication.run(MainApplicion.class, args);    }}

controller

@RequestMapping("user")@RestControllerpublic class UserController {    @Autowired    private UserMapper userMapper;        @GetMapping("/list/all")    public Object listAll() {        return userMapper.selectByExample(new UserExample());    }}

运行

右键运行 Application 应用启动类的 main 函数,然后在浏览器访问即可看到数据。

http://localhost:8080/user/list/all
[    {        id: 1,        name: "张三",        birthday: 1491667200000,        address: "深圳"    }]

与SpringMVC整合MyBatis的区别

SpringMVC是通过xml进行配置,通过配置DataSource、SqlSessionFactoryBean、MapperScannerConfigurer来完成MyBatis的整合。
而SpringBoot是通过application.properties配置数据源、实体bean包名、mapper文件位置和@MapperScan注解来配置扫描的dao路径,从而实现MyBatis的整合。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Spring Boot 整合 Mybatis 实现 Druid 多数据源详解
springcloud笔记之服务提供者与消费者
Spring Boot + MyBatis 多模块搭建教程
springboot快速入门
Spring boot Mybatis(讀寫分離配置)
Spring Boot (八): Mybatis 增强工具 MyBatis-Plus
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服