美文网首页JavavaJJavaui
[SpringBoot+VueJs] 2.2 SpringBoo

[SpringBoot+VueJs] 2.2 SpringBoo

作者: professorLea | 来源:发表于2017-07-11 16:46 被阅读934次

    目录

    1. 环境搭建
    2. 后端
      2.1 数据库设计
      2.2 SpringBoot + Mybatis
      2.3 SpringBoot+RestfulAPI
    3. 前端
      3.1 VueJS 2.0 + Webpack工程介绍
      3.2 Admin-LTE介绍及使用
      3.3 VueJS一些基础知识
      3.4 项目中用到的和VueJS的开源组件

    1 前言

    Java web的DAO层现在最流行的肯定还是Mybatis这种弱化的ORM。所以Spring boot必定也会支持Mybatis。
    这篇文章先会介绍

    1. Mybatis Generator的使用方法。这是个神奇的工具,有了表结构,会自动生成Model和mapper.xml文件
    2. 如何整合SpringBoot

    2 Mybatis Generator

    Mybatis Generator有三种用法:命令行、eclipse插件、maven插件。我这里只用了maven插件。所以这里用Maven的方式来介绍。

    2.1 pom中加入配置

    在backend的pom里添加:

    <plugin>
     2     <groupId>org.mybatis.generator</groupId>
     3     <artifactId>mybatis-generator-maven-plugin</artifactId>
     4     <version>1.3.2</version>
     5     <configuration>
     6         <configurationFile>src/main/resources/mybatis-generator/generatorConfig.xml</configurationFile>
     7         <verbose>true</verbose>
     8         <overwrite>true</overwrite>
     9     </configuration>
    10     <executions>
    11         <execution>
    12             <id>Generate MyBatis Artifacts</id>
    13             <goals>
    14                 <goal>generate</goal>
    15             </goals>
    16         </execution>
    17     </executions>
    18     <dependencies>
    19         <dependency>
    20             <groupId>org.mybatis.generator</groupId>
    21             <artifactId>mybatis-generator-core</artifactId>
    22             <version>1.3.2</version>
    23         </dependency>
    24     </dependencies>
    25 </plugin>
    

    可以看出,这里使用了mybatis-generator-maven-plugin这个plugin,然后指定了src/main/resources/mybatis-generator/generatorConfig.xml这个配置文件。并定于了maven的goal是 generate。

    2.2 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">
    <generatorConfiguration>
    
        <classPathEntry
                location="/Users/professor/.m2/repository/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar"/>
        <context id="MysqlTables" targetRuntime="MyBatis3">
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://localhost:3306/minions" userId="root"
                            password="123456">
            </jdbcConnection>
            <javaTypeResolver>
                <property name="forceBigDecimals" value="false"/>
            </javaTypeResolver>
            <javaModelGenerator targetPackage="com.xxxx.xxxx.model"
                                targetProject="/Users/professor/IdeaProjects/xxx/backend/src/main/java">
                <property name="enableSubPackages" value="true"/>
                <property name="trimStrings" value="true"/>
            </javaModelGenerator>
            <sqlMapGenerator targetPackage="com.xxxx.xxxx"
                             targetProject="/Users/professor/IdeaProjects/xxxx/backend/src/main/resources">
                <property name="enableSubPackages" value="true"/>
            </sqlMapGenerator>
            <javaClientGenerator type="XMLMAPPER"
                                 targetPackage="com.xxxx.xxx.dao"
                                 targetProject="/Users/professor/IdeaProjects/xxxx/backend/src/main/java">
                <property name="enableSubPackages" value="true"/>
            </javaClientGenerator>
            <table schema="minions" tableName="users" enableCountByExample="false"
                   enableUpdateByExample="false" enableDeleteByExample="false"
                   enableSelectByExample="false" selectByExampleQueryId="false">
            </table>
            <table schema="minions" tableName="env" enableCountByExample="false"
                   enableUpdateByExample="false" enableDeleteByExample="false"
                   enableSelectByExample="false" selectByExampleQueryId="false">
            </table>
        </context>
    </generatorConfiguration>
    

    这里有几个关键的需要说下:

    1. classPathEntry:找到jar包的位置。
    2. jdbcConnection:数据库连接的配置。
    3. javaModelGenerator:Model生成的位置。
    4. sqlMapGenerator: Mapper生成的位置。
    5. javaClientGenerator: Dao生成的位置。
    6. table:需要生成的源数据表名。

    2.3 生成

    使用IntelliJ Idea时,打开maven窗口:


    maven窗口

    或者命令行:
    mvn mybatis-generator:generate

    2.4 结果

    Dao:

    Dao1 Dao2

    Mapper:

    Mapper

    Model:

    Model

    是的。这些都是自动生成的。省了很多工作量,提升了效率。

    !还有就是记得,把上面pom文件里的这段删掉,以免后面进行打包比如mvn install的时候从新执行以下,导致你修改过的dao,model,mapper被覆盖。

    3 Springboot+mybatis整合

    3.1 添加依赖

    backend的pom文件添加:

     <!-- Spring Boot Mybatis 依赖 -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>${mybatis-spring-boot}</version>
            </dependency>
    

    在application.properies添加:

    #数据源
    spring.datasource.url=jdbc:mysql://localhost:3306/xxx?relaxAutoCommit=true&zeroDateTimeBehavior=convertToNull&&allowMultiQueries=true&characterEncoding=utf-8&useSSL=false
    spring.datasource.username=root
    spring.datasource.password=123456
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    ## Mybatis 配置
    mybatis.typeAliasesPackage=com.xxx.xxx.model
    mybatis.mapperLocations=classpath:com/xxx/xxx/*.xml
    

    配置好这些一切,下面就可以开始controller和service的编写了。当然,自己也要会根据这些生成的模板,增加自己的mapper访问方式。

    相关文章

      网友评论

        本文标题:[SpringBoot+VueJs] 2.2 SpringBoo

        本文链接:https://www.haomeiwen.com/subject/wxdmhxtx.html