1. 程式人生 > >資料視覺化 三步走(二):springboot整合mybatis 搭建Java Web

資料視覺化 三步走(二):springboot整合mybatis 搭建Java Web

前言

    本章節完成第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是否能跑起來,別的下一節再講:

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
頁面顯示正確,測試通過。

總結

     本章節我們主要講了springboot+mybatis如何搭建和使用,目的就是為了搭建javaWeb作為資料視覺化的後臺服務,下一章節我們將利用thymeleaf和echarts實現簡單的資料視覺化。