SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis

1: Maven Pom.xml 添加依赖



    
        org.springframework.boot
        spring-boot-starter
    

    
        org.springframework.boot
        spring-boot-starter-test
        test
    
    
    
        org.springframework.boot
        spring-boot-starter-web
    
    
    
    
    
        org.mybatis.spring.boot
        mybatis-spring-boot-starter
        1.3.1
    
    
    
       mysql
       mysql-connector-java
    
    
    
    
        tk.mybatis
        mapper-spring-boot-starter
        
        1.2.0
    
    

2: 创建SpringBoot项目

  • 访问http://start.spring.io/
  • 选择构建工具Maven Project、Spring Boot版本1.3.6以及一些工程基本信息,点击“Switch to the full version.”java版本选择1.7
  • 点击Generate Project下载项目压缩包
  • 解压后,使用eclipse,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh,OK done!

3: Mybatis Generator plugin 安装(Eclipse)并配置Generator.xml

Mybatis generator 能帮助我们自动生成数据库对应的POJOs,DAOs和Mapper.xml。并实现了一些 基本的增删改查接口以及其对应的XML。在本文中,会将加入TKmybatis,使generator生成的Mapper 继承 TKmybatis提供的mapper。相比原始的generator, 整合Tkmybatis.mapper 后 生成的mapper.xml 将会显得更加简洁。

3.1 安装Mybatis generator 插件(Eclipse)

打开Eclipse ------ Help ------ Eclipse MarketPlace ------ 搜索mybatis generator 并安装


SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis_第1张图片
image.png

3.2 配置generatorConfig.xml 文件

在resources下新建generatorConfig.xml文件
SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis_第2张图片
项目结构
generatorConfig.xml




  
  
      
  

  
    
    
    
      
      
      
    

    
    
    

   
    

    

    
    
    
    
    
保存后,右键generatorConfig.xml 选择run as Mybatis Generator
SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis_第3张图片
成功生成

遇到的坑:
1:有些文章中,targetProject处填写 src/main/java or resources 但实践中发现会出错,提示无法找到src项目。在src前面加入 项目名称即可(此处为SpringBootDF)
2: 关于 targetPackage , 在resources中new package 但显示的还是文件夹的样式,于是我在targetPackage中填入了 mybatis/mapper 结果被编译器教育。尝试修改成 mybatis.mapper 即可
3: 在使用 mybatis generator 时无法生成,一直提示无法找到config.properties 文件。google大法+百度大法+重启电脑大法+想念了一会周老师 后更新 eclipse 的generator插件后 解决。

4:SpringBoot 添加注解,并运行

4.1在application.java 处添加注解
@SpringBootApplication
@EnableScheduling  // 写定时任务@Scheduled需要在主入口 增加该注解
@MapperScan("com.woosiyuan.dao") //此处填写 mapper接口所在包,如果不加则需要在每个 mapper上添加 @Mapper 注解。
public class SpringbootDfApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDfApplication.class, args);
    }
}
4.2编写Service,Controller 实现业务逻辑。
@RestController
public class TestController {

    @RequestMapping("/test1")
    public String getTest() {
        return "test1";
    }
    
    
}

直接运行 application.java run as java application 即可。不需要配置tomcat


SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis_第4张图片
成功运行springBoot 可以看到其内置的tomcat是在8080端口, 所以要注意8080端口不能被其它应用占用
4.3 访问浏览器
SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis_第5张图片

遇到的坑:
1:从springBoot官网下载的jar,导入进eclipse后,application.java 会生成在 以项目名 命名的包下。application.java 一定要放在根目录下,否则controller内的方法都无法运行。会产生404错误。解决方案: 把application.java 移动到 src/main/java 下。
2:mybatis.mapper 初始化失败,是因为配置的加载顺序导致的。1.2.0版本解决了该问题。解决方案:因为项目使用的是 spring boot 所以,导入的mapper依赖包也需要是mapper-spring-boot-starter。且需要将 application.java 的mapperscan 从spring官方改为tk,mybatis 。
ref:https://github.com/abel533/mapper-boot-starter/issues/8 http://blog.csdn.net/u010342008/article/details/77802855

SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis_第6张图片
mapper 遇到的坑
参考资料:

springboot(六):如何优雅的使用mybatis(介绍了SpringBoot整合Mybatis的两种方式,本文主要的参考文档,感谢前辈们)
TKmybatis框架介绍和原理分析
SpringBoot+MyBatis通用Mapper3实践浅析

你可能感兴趣的:(SpringBoot 整合Mybatis(XML方式)+Mybatis generator+TkMybatis)