SpringBoot整合Mybatis
个人资源与分享网站:http://xiaocaoshare.com/
1.Mybatis与Hibernate相比,Mybtais在这些场景使用优于Hibernate:
1.1 出于安全考虑,只提供特定的SQL(或存储过程)以获取所需的数据,数据库表具体的结构不予公开
1.2 开发规范中要求,所有涉及到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(例如,金融行业的软件在开发规范中严格指定)
1.3系统数据处理量巨大,对性能要求极为苛刻,需要高度优化SQL语句才能达到系统性能设计指标
2.在pom.xml中加入相应依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--springboot web模块支持,自动帮我们引入了web模块开发需要的相关jar包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<!-- 配置Sl4j日志 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
</dependency>
<!--springboot程序测试依赖,如果是自动创建项目默认添加 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!-- Mybatis分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<!-- mybatis-generator反向工程 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.5</version>
<configuration>
<!-- 在控制台打印执行日志 -->
<verbose>true</verbose>
<!-- 重复生成时会覆盖之前的文件 -->
<overwrite>true</overwrite>
<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>
</configuration>
<!-- 此插件运行所要依赖的jar -->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
<dependency>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-core</artifactId>
<version>1.3.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
3.创建sql文件,使用逆向工程生成实体类,映射文件
generatorConfig.xml
<?xml version=”1.0” encoding=”UTF-8”?>
<!DOCTYPE generatorConfiguration PUBLIC “-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN” “http://mybatis.org/dtd/mybatis-generator-config\_1\_0.dtd">
3.3运行生成实体类,mapper接口,xml映射文件
选中项目,点击Terminal,输入命令:mvn mybatis-generator:generate
4.创建UserMapper,userService,UserServiceImpl,UserController
UserMapper.java
@Select(“select * from user”)
List
UserService.java
List
UserServiceImpl.java
@Override
public List
return userMapper.findAll();
}
UserController.java
@GetMapping(value = “findAll”)
public List
return userService.findAll();
}
访问地址:http://localhost:80/user/findAll
代码:https://github.com/xiaoyirang/SpringBootDemo
还没有评论,来说两句吧...