1: Maven Pom.xml 添加依賴
<dependencies>
<!-- SpringBoot核心模塊炼幔,包括自動配置支持诞帐、日志和YAML东抹; -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- 測試模塊宫盔,包括JUnit、Hamcrest旺韭、Mockito胶坠。 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Spring web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis 相關(guān)-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<!-- 建議使用最新版本 -->
<version>1.2.0</version>
</dependency>
</dependencies>
2: 創(chuàng)建SpringBoot項目
- 訪問http://start.spring.io/
- 選擇構(gòu)建工具M(jìn)aven 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 能幫助我們自動生成數(shù)據(jù)庫對應(yīng)的POJOs嗅战,DAOs和Mapper.xml。并實現(xiàn)了一些 基本的增刪改查接口以及其對應(yīng)的XML俺亮。在本文中驮捍,會將加入TKmybatis,使generator生成的Mapper 繼承 TKmybatis提供的mapper。相比原始的generator脚曾, 整合Tkmybatis.mapper 后 生成的mapper.xml 將會顯得更加簡潔东且。
3.1 安裝Mybatis generator 插件(Eclipse)
打開Eclipse ------ Help ------ Eclipse MarketPlace ------ 搜索mybatis generator 并安裝
3.2 配置generatorConfig.xml 文件
在resources下新建generatorConfig.xml文件
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">
<!--根節(jié)點 -->
<generatorConfiguration>
<!--properties resource 導(dǎo)入配置文件,可以把 一些常量比如 數(shù)據(jù)庫的用戶名本讥,密碼珊泳,url寫在里面。如果想使用配置文件則可以直接在這里填寫完整-->
<properties resource="config.properties"/>
<classPathEntry location="D:\java\lib\mysql\mysql-connector-java-5.1.44-bin.jar" /><!--驅(qū)動包的絕對路徑-->
<context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
<property name="javaFileEncoding" value="UTF-8"/>
<plugin type="tk.mybatis.mapper.generator.MapperPlugin">
<property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
<!-- caseSensitive默認(rèn)false拷沸,當(dāng)數(shù)據(jù)庫表名區(qū)分大小寫時色查,可以將該屬性設(shè)置為true -->
<property name="caseSensitive" value="true"/>
</plugin>
<!--讀取 property 內(nèi)填寫的值-->
<jdbcConnection driverClass="${jdbc.driverClass}"
connectionURL="${jdbc.url}"
userId="${jdbc.user}"
password="${jdbc.password}">
</jdbcConnection>
<javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}"/>
<sqlMapGenerator targetPackage="mybatis.mapper" targetProject="SpringbootDF/src/main/resources"/>
<javaClientGenerator targetPackage="${targetMapperPackage}" targetProject="${targetJavaProject}" type="XMLMAPPER" />
<!-- 要生成的table -->
<table tableName="ir_robot_info" >
<generatedKey column="robot_id" sqlStatement="Mysql" identity="true"/>
</table>
</context>
</generatorConfiguration>
保存后,右鍵generatorConfig.xml 選擇run as Mybatis Generator
遇到的坑:
1:有些文章中撞芍,targetProject處填寫 src/main/java or resources 但實踐中發(fā)現(xiàn)會出錯旺隙,提示無法找到src項目仇参。在src前面加入 項目名稱即可(此處為SpringBootDF)
2: 關(guān)于 targetPackage , 在resources中new package 但顯示的還是文件夾的樣式,于是我在targetPackage中填入了 mybatis/mapper 結(jié)果被編譯器教育。嘗試修改成 mybatis.mapper 即可
3: 在使用 mybatis generator 時無法生成陵且,一直提示無法找到config.properties 文件。google大法+百度大法+重啟電腦大法+想念了一會周老師 后更新 eclipse 的generator插件后 解決订讼。
4:SpringBoot 添加注解浮定,并運行
4.1在application.java 處添加注解
@SpringBootApplication
@EnableScheduling // 寫定時任務(wù)@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 實現(xiàn)業(yè)務(wù)邏輯。
@RestController
public class TestController {
@RequestMapping("/test1")
public String getTest() {
return "test1";
}
}
直接運行 application.java run as java application 即可。不需要配置tomcat
4.3 訪問瀏覽器
遇到的坑:
1:從springBoot官網(wǎng)下載的jar隘竭,導(dǎo)入進(jìn)eclipse后塘秦,application.java 會生成在 以項目名 命名的包下。application.java 一定要放在根目錄下动看,否則controller內(nèi)的方法都無法運行尊剔。會產(chǎn)生404錯誤。解決方案: 把application.java 移動到 src/main/java 下菱皆。
2:mybatis.mapper 初始化失敗须误,是因為配置的加載順序?qū)е碌摹?.2.0版本解決了該問題。解決方案:因為項目使用的是 spring boot 所以仇轻,導(dǎo)入的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(六):如何優(yōu)雅的使用mybatis(介紹了SpringBoot整合Mybatis的兩種方式篷店,本文主要的參考文檔祭椰,感謝前輩們)
TKmybatis框架介紹和原理分析
SpringBoot+MyBatis通用Mapper3實踐淺析