資料視覺化 三步走(二):springboot整合mybatis 搭建Java Web
阿新 • • 發佈:2019-01-03
前言
本章節完成第2點:利用springboot + mybatis 作為web後臺服務。
1.環境依賴
1.Win7 + Intellij IDEA 15.0.2 + JDK8
2.建立springboot專案
1.new project
2 .然後點next,各種名字自己起,我選的是maven war專案
3. 選擇所需要的啟動器starter,這裡選擇了springboot推薦的模板引擎thymeleaf(下一節會講),沒有選web啟動器,因為thymeleaf已經包含了web相關的jar包
4.最後點選next,起個專案名稱即可,專案結構如下
5.在此專案中,配置檔案我們用yml檔案,因為yml更簡潔,所以刪掉application.properties,新建application.yml
至此,我們的springboot專案就建好了。
3. 修改配置檔案application.yml,增加所需配置,下面給出的是一個相對完整的配置檔案,拷過去直接用,如缺東西自己再加(注意:mybatis配置檔案的路徑一定指定為自己的,我的是com.cnepay.model)
server:
port: 8091
spring:
profiles:
active: dev
## notice :two springboot project deploy(部署)in same server
jmx:
default-domain: springbootEcharts
datasource:
name: test
#主資料來源,預設配置
url: jdbc:mysql://127.0.0.1/python
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
thymeleaf:
# 模板模式 LEGACYHTML5
mode: HTML5
# 這個開發配置為false,避免改了模板還要重啟伺服器
cache: false
# ######下面的這些可不用配置#######
# 這個是配置模板路徑的,預設就是templates
prefix: classpath:/templates/
suffix: .html
encoding: UTF-8
content-type: text/html
# 檢查模板位置
check-template-location: true
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.cnepay.model
#pagehelper分頁外掛
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
logging:
level:
com:
cnepay: trace
注意:yml檔案中,冒號後面一定要加空格
4.新建mybatis自動生成器
1.maven配置檔案中增加外掛依賴:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- mybatis generator 自動生成程式碼外掛 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
2.新建generatorConfig.xml檔案,裡面的註釋已經足夠詳細了,請仔細閱讀並改為自己的配置,配置示例如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"https://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!-- 資料庫驅動:選擇你的本地硬碟上面的資料庫驅動包-->
<classPathEntry location="C:\Users\wxq\.m2\repository\mysql\mysql-connector-java\5.1.44\mysql-connector-java-5.1.44.jar"/>
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressDate" value="true"/>
<!-- 是否去除自動生成的註釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--資料庫連結URL,使用者名稱、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1/python" userId="root" password="root">
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- begin 如果表結構發生變化,只自動更新model 和 生成比較mapper.xml差別 即可-->
<!-- 生成模型的包名和位置-->
<javaModelGenerator targetPackage="com.cnepay.model" targetProject="src">
<property name="enableSubPackages" value="true"/>
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- 生成對映檔案的包名和位置-->
<sqlMapGenerator targetPackage="com.cnepay.mapper" targetProject="src">
<property name="enableSubPackages" value="true"/>
</sqlMapGenerator>
<!-- end 如果表結構發生變化,只更新model 和 mapper.xml 即可-->
<!--<sqlMapGenerator targetPackage="main.resources.mapper" targetProject="src">-->
<!--<property name="enableSubPackages" value="true"/>-->
<!--</sqlMapGenerator>-->
<!-- 生成DAO的包名和位置-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.cnepay.dao" targetProject="src">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 要生成的表 tableName是資料庫中的表名或檢視名 domainObjectName是實體類名-->
<table tableName="t_movie" domainObjectName="Movie" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
</context>
</generatorConfiguration>
3.配置使用mybatis自動生成器:
新建maven外掛:
新建完後,起個名字,並填入mybatis-generator命令:
mybatis-generator:generate -e,儲存退出即可
選擇generator,點選啟動,即可根據配置檔案生成所需要的mapper,dao,model目錄和檔案,路徑可能不對,把它們拷貝到正確的目錄下即可,最終結構如下(紅框內為上述操作生成,其他目錄檔案先不要關注,後面會講):
我這裡還用到了Druid連線池,相關依賴也加進來
<!-- alibaba的druid資料庫連線池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.0</version>
</dependency>
4.配置springboot入口類,加入mapper掃描註解,包路徑改為自己的:
5.tomcat配置,此時要把scope註釋掉,因為生產模式下,springboot是會去除tomcat的,所以如果不註釋掉web啟動不了,因為沒有tomcat。(注意:springboot web是自帶tomcat的):
至此,整個springboot和mybatis的配置就基本完成了,啟動一下試一試吧,如果還有問題自己解決下
5.web測試
1.建立controller,寫個test方法(注意:返回的是一個相對路徑,路徑一定寫正確,相比SpringMVC我們不需要寫TemplateResolver,springboot會提供自動配置類,如果路徑有問題可能是/的問題,自己多試試):
2.建立service,movieService寫個testMybatis方法,查詢資料庫中主鍵為14的記錄:
3.建立test.html,展示14這條記錄的title,th標籤為thymeleaf的,我們這裡只測試整個web是否能跑起來,別的下一節再講:
頁面顯示正確,測試通過。