本文共 4943 字,大约阅读时间需要 16 分钟。
今天我们来了解一下springboot 集成mybatis。
我们在第一篇文章( 中使用的是通过idea中的spring插件来创建的。今天我们尝试的使用maven插件来创建。file——new——module
创建好后,结构如下:4.0.0 com.cjp.springboot 02springboot-mybatis 0.0.1-SNAPSHOT org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 mysql mysql-connector-java LATEST
因为我们是通过maven来创建的module,为此我们还需要引入springboot的父级依赖,这样就是一个springboot项目了。当然,可以顺便把属性依赖也引进来。
org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE 1.8
因为我们需要启动web项目,为此我们还需要引入web的启动依赖。
org.springframework.boot spring-boot-starter-web
为此,pom.xml 内容如下
4.0.0 com.cjp.springboot 02springboot-mybatis 0.0.1-SNAPSHOT org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE 1.8 org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.1 mysql mysql-connector-java LATEST
因为我们使用maven创建的项目,为此,需要我们手动创建application.properties文件。
mybatis.mapper-locations=classpath:com/cjp/springboot/mapper/*.xml
#配置数据源信息spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3306/pinyougoudb?useUnicode=true$characterEncoding-utf8&useSSL=false
org.mybatis.generator mybatis-generator-maven-plugin 1.3.6 GeneratorMapper.xml true true
因为我们使用maven添加的项目,为此,需要我们手动的添加Application文件。
package com.cjp.springboot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;//@SpringBootApplication开启springboot自动扫瞄的注解@SpringBootApplicationpublic class Application { // 通过输入psvm快速生成main方法 public static void main(String[] args) { SpringApplication.run(Application.class,args); }}
因为代码量大,详见https://github.com/NerlCheng/springboot/tree/master/02-springbootmybatis
启动项目后发现页面报错,这个原因就是因为找不到创建的sql语句,输入分析我们可以在taget目录中的mapper文件夹中发现,没有我们需要的tb_OrderMapper.xml文件。这个问题是idea的开发工具的问题,如果是eclipse是不会有这个问题的。这个问题已经在https://blog.csdn.net/aiming66/article/details/88327127中做了解释,只需要增加下面一段配置代码即可。
src/main/java **/*.xml src/main/resources **/*.* src/main/webapp META-INF/resources **/*.*
重新启动后,可以访问成功。