Spring Boot整合Mybatis持久层框架
2019-04-22 14:27
429 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smallsadsad/article/details/89449401
概述
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
Spring Boot项目创建
官方网页创建:https://start.spring.io/
IntelliJ IDEA软件创建:
1.创建一个新项目,spring Initializr
2.选择依赖+SpringBoot版本
3.创建项目
添加Mybatis
1.导入包
[code] <!--mybatis + 分页插件--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>1.2.4</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.5</version> <scope>compile</scope> <optional>true</optional> </dependency> <!--mybatis-->
2.定义Mapper接口的公共接口
[code] import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.MySqlMapper; /** * 继承自己的MyMapper */ public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> { //TODO //FIXME 特别注意,该接口不能被扫描到,否则会出错 }
3.添加配置
[code]mybatis.type-aliases-package=com.ranq.testmodel.mybatis.domain mybatis.mapper-locations=classpath:mapper/*.xml mapper.mappers=com.ranq.testmodel.mybatis.MyMapper mapper.not-empty=false mapper.identity=ORACLE pagehelper.helperDialect=oracle pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql
4.编写generatorConfig.xml代码生成器文件
[code]<?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"> <generatorConfiguration> <context id="MysqlContext" targetRuntime="MyBatis3Simple" defaultModelType="flat"> <property name="beginningDelimiter" value="`"/> <property name="endingDelimiter" value="`"/> <plugin type="tk.mybatis.mapper.generator.MapperPlugin"> <property name="mappers" value="com.ranq.testmodel.mybatis.MyMapper"/> </plugin> <jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="scott" password="scott"> </jdbcConnection> <!-- 对于生成的pojo所在包 --> <javaModelGenerator targetPackage="com.ranq.testmodel.mybatis.domain" targetProject="src/main/java"/> <!-- 对于生成的mapper所在目录 --> <sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"/> <!-- 配置mapper对应的java映射 --> <javaClientGenerator targetPackage="com.ranq.testmodel.mybatis.mapper" targetProject="src/main/java" type="XMLMAPPER"/> <table tableName="dept" schema="scott"></table> <table tableName="emp" schema="scott"></table> </context> </generatorConfiguration>
5.编写执行代码生成器运 3ff7 行Main函数代码
[code] import org.mybatis.generator.api.MyBatisGenerator; import org.mybatis.generator.config.Configuration; import org.mybatis.generator.config.xml.ConfigurationParser; import org.mybatis.generator.internal.DefaultShellCallback; import java.io.File; import java.net.URL; import java.util.ArrayList; public class GeneratorDisplay { public void generator() throws Exception { URL resource = this.getClass().getClassLoader().getResource("generatorConfig.xml"); ArrayList<String> warnings = new ArrayList<String>(); boolean overwrite = true; //指定 逆向工程配置文件 File configFile = new File( resource.getFile()); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config, callback, warnings); myBatisGenerator.generate(null); } public static void main(String[] args) throws Exception { try { GeneratorDisplay generatorSqlmap = new GeneratorDisplay(); generatorSqlmap.generator(); } catch (Exception e) { e.printStackTrace(); } } }
6.编写Mybatis扫描配置
[code]@Component @MapperScan(basePackages = {"com.ranq.testmodel.mybatis.mapper"}) public class MybatisConfig { }
7.编写Controller
[code]import com.ranq.testmodel.mybatis.mapper.EmpMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/emp") public class EmpController { @Autowired private EmpMapper empMapper; @GetMapping public Object list(){ return empMapper.selectAll(); } }
8.运行
9.访问http://localhost:8080/emp
相关文章推荐
- 简单的SpringBoot+Mybatis框架整合
- 开发框架整合与搭建:spring boot+mybatis+jedis
- spring boot 整合mybatis-plus ssm框架
- springboot+mybatis+redis整合(超方便的框架)
- SpringBoot2.0 基础案例(10):整合Mybatis框架,集成分页助手插件
- 使用myeclipse搭建SpringBoot框架,整合thymeleaf模板和mybatis
- Spring Boot系列(十) 持久层框架--Mybatis
- SpringBoot+SpringMVC+MybatisPlus框架整合
- Spring Boot:整合MyBatis框架
- Maven + Spring Boot + Mybatis 框架整合
- Spring Boot、Mybatis框架整合开发Java RESTful Web Service
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
- spring-boot+mybatis开发实战:如何在spring-boot中使用myabtis持久层框架
- spring boot整合mybatis+mybatis-plus
- Maven+Spring+SpringMVC+MyBatis+MySQL 整合SSM框架
- SpringBoot整合MyBatis逆向工程
- springboot整合Mybatis【在入口类中声明到接口 @MapperScan(value="com.lin.dao")】
- [Spring Boot实战系列] - No.3 Spring boot 整合Mybatis
- 6.SpringBoot整合Mybatis
- Struts+spring+mybatis框架整合