數據可視化 三步走(二):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實現簡單的數據可視化。

數據可視化 三步走(三):thymeleaf + echarts 完成數據可視化

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章