1. 程式人生 > >Springboot+mybatis 搭配mybatis逆向工程

Springboot+mybatis 搭配mybatis逆向工程

這裡是以MySQL為例。

  1. 首先我們需要建立資料庫。(這裡我建立的資料庫的名稱是newtest)並且建立兩張表,分別是category和product。以他們為例演示:
    下面是建立這兩張表的程式碼:
create table category(
id int(11) primary key auto_increment not null,
name varchar(255) default null)
engine=innodb default charset=utf8;

create table product(
id int(11) primary key auto_increment not
null, name varchar(255) default null, price float default null, cid int(11) default null,0 constraint fk_product_category foreign key (cid) references category(id) )engine=innodb default charset=utf8;
  1. 題主這裡是以Intellij IDEA為例。先建立springboot工程。
    然後新增如下所示的依賴(也就是我們的pom.xml檔案,你可以直接全部複製我的檔案,它是完整的):(其中的版本號最好和我的一樣,你先跑出效果,然後再自己修改)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId
>
com.example</groupId> <artifactId>springboot-mybatis-generator-test</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>springboot-mybatis-generator-test</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>1.3.2</version> <configuration> <verbose>true</verbose> <overwrite>true</overwrite> </configuration> </plugin> </plugins> </build> </project>
  1. 在application.yml檔案中配置資料來源。(在用IDEA時,IDE預設建立的不是.yml檔案,所以需要你刪掉,然後建立這個檔案。官方也推薦建立.yml檔案,我後面給出了原始碼,你可以參考一下)。
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/newtest
    username: root
    password: admin
server:
  port: 8081
  1. 在resources資料夾下建立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>

    <properties resource="application.yml" />
    <!-- mysql驅動的位置 這個是MySQL連線的jar包,你需要指定你自己計算機上的jar包的位置-->
    <classPathEntry location="g:\MySQLCon\mysql-connector-java-5.1.38.jar" />

    <context id="Tables" targetRuntime="MyBatis3">

        <!-- 註釋 -->
        <commentGenerator>
            <!-- 是否生成註釋代時間戳 -->
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自動生成的註釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>

        <!-- JDBC連線 其中connectionURL後面的newtest改為你建立的資料庫,緊跟在後面是資料庫連線的賬戶和密碼-->
        <jdbcConnection
                driverClass="com.mysql.jdbc.Driver"
                connectionURL="jdbc:mysql://localhost:3306/newtest"
                userId="root"
                password="admin">
        </jdbcConnection>

        <!-- 非必需,型別處理器,在資料庫型別和java型別之間的轉換控制-->
        <!-- 預設false,把JDBC DECIMAL 和 NUMERIC 型別解析為 Integer,為 true時把JDBC DECIMAL 和
         NUMERIC 型別解析為java.math.BigDecimal -->
        <javaTypeResolver>
            <!-- 是否使用bigDecimal, false可自動轉化以下型別(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- 生成實體類地址 這裡需要你改動,其中targetPackage需要根據你自己建立的目錄進行改動 -->
        <javaModelGenerator targetPackage="com.example.springbootmybatisgeneratortest.pojo" targetProject="src/main/java">
            <!-- 從資料庫返回的值被清理前後的空格 -->
            <property name="trimStrings" value="true" />
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </javaModelGenerator>

        <!-- 生成mapper xml檔案 這裡不需要改動 -->
        <sqlMapGenerator targetPackage="mapper"  targetProject="src/main/resources">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>

        <!-- 生成mapper xml對應Client   這裡需要改動targetPackage,依據你自己的工程-->
        <javaClientGenerator targetPackage="com.example.springbootmybatisgeneratortest.mapper" targetProject="src/main/java" type="XMLMAPPER">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>

        <!-- 配置表資訊 -->
        <!-- schema即為資料庫名 tableName為對應的資料庫表 domainObjectName是要生成的實體類 enable*ByExample
            是否生成 example類 -->

        <table schema="newtest" tableName="category"
               domainObjectName="Category" enableCountByExample="true"
               enableDeleteByExample="true" enableSelectByExample="true"
               enableUpdateByExample="true">
        </table>

        <table schema="newtest" tableName="product"
               domainObjectName="Product" enableCountByExample="true"
               enableDeleteByExample="true" enableSelectByExample="true"
               enableUpdateByExample="true">
        </table>
    </context>
</generatorConfiguration>
  1. 然後使用maven配置生成程式碼。(這裡需要使用maven的命令列)。
    命令列是mybatis-generator:generate -e
    在IntelliJ IDEA中的操作步驟如下:
    首先選擇Run->Edit Configurations..
    然後點選左上角的“+”號,選擇Maven
    最後在Working directory中填入你專案的根目錄,然後在下面的Command line中填入mybatis-generator:generate -e。點選OK即可。
    如下圖所示:
    這裡寫圖片描述
    然後執行,就可以生成程式碼了。
  2. 在application.yml檔案中新增mybatis的配置。
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/newtest
    username: root
    password: admin
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.springbootmybatisgeneratortest.pojo
server:
  port: 8081
  1. 還需要配置mapper介面的位置。
    在應用啟動類新增@Mapper(“mapper包的位置”),見原始碼。
  2. 然後繼續新增業務類。
    也就是我們的service包。最後測試結果就可以了。
  3. github中有完整的原始碼,你可以參考一下。
  4. 程式碼在我的github地址上。(如果可以用的話,start一下,(#^.^#)謝謝)github地址

如果你還是有不懂的話,可以給我發郵箱,我郵箱的地址:[email protected]

相關推薦

Springboot+mybatis 搭配mybatis逆向工程

這裡是以MySQL為例。 首先我們需要建立資料庫。(這裡我建立的資料庫的名稱是newtest)並且建立兩張表,分別是category和product。以他們為例演示: 下面是建立這兩張表的程式碼: create table category(

springboot整合mybatis外掛使用逆向工程生成domain

LZ為了熟悉springboot,準備寫一個視訊分享網站。而在整合spirngboot和mybatis以及tk外掛逆向生成工程時出現了很多問題。 在專案終於可以從資料庫中獲取資料之後,LZ將碰到的一些很難受的錯誤記錄下來。僅供大家參考。 LZ最近才開始用上idea,以

利用mybatis-generator做逆向工程

配置pom.xml中generator 外掛所對應的配置檔案 ${basedir}/src/main/resources/generator/generatorConfig.xml basedir為根目錄的意思   <?xml version="1.0" encoding

MyBatis(10)逆向工程

什麼是逆向工程? 在學習的過程中會發現,需要我們寫大量的sql語句 此時mybaatis官方為我們提供逆向工程可以針對單表自動生成的mybatis執行所需要的程式碼 使用方法:    MyBatis Generator (MBG) can be run in the following ways:

Mybatis(六)逆向工程generator

逆向工程概述:     MyBatis的一個主要的特點就是需要程式設計師自己編寫sql,那麼如果表太多的話,難免會很麻煩,所以mybatis官方提供了一個逆向工程,可以針對單表自動生成mybatis執行所需要的程式碼(包括mapper.xml、mapper.java、pojo..)。一般在開發中,常用的逆向

mybatis-generator生成逆向工程兩種方式

mybatis官方提供了一個逆向工程包,可以針對資料庫表自動生成mybatis執行所需要的Pojo、Mapper xml檔案、Mapper Interface介面檔案。  mybatis-generator有很多種用法:命令列、eclipse/IDEA、Maven外掛,

mybatis-generator的逆向工程生成bean和dao

1、在pom.xml裡新增maven外掛 <plugin> <groupId>org.mybatis.generator</groupId> <artif

【SSM-MyBatis框架】逆向工程

1.逆向工程:(會用即可)      mybatis需要程式設計師自己定義sql語句,mybatis官網提供逆向工程,可以針對表單自動生成mybatis執行所需的Java程式碼(pojo、mapper.java、mapper.xml) 2.使用方法:     1.工程目錄:

mybatis學習系列--逆向工程簡單使用及mybatis原理

http idt class font lose file cor admin span 2逆向工程簡單測試(68-70) SqlSessionFactory sqlSessionFactory=getSqlSessionFactory(); SqlSession

SpringBoot中使用Mybatis Generator進行資料庫表逆向工程自動生成實體類和mapping對映

1.首先在專案中建立一個GeneratorDisplay工具類,放在com.springbootdemo.util下 package com.springbootdemo.util; import java.io.File; import java.util.ArrayList; imp

SpringBoot+mybatis逆向工程

使用開發工具:idea 一、建立springBoot工程後,在pom.xml檔案中新增如下程式碼,以下程式碼是連線資料庫的一些jar包和生成的工具 <!--1.myBatis--> <dependency> <groupId>org.mybatis

springboot整合mybatis逆向工程

1.新增依賴 <!--mysql依賴--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId&g

SpringBoot+myBatis逆向工程的搭建

第一步 首先建立你的資料庫的表 第二步 在pom.xml新增: <plugin>         <groupId>org.mybatis.generator</groupId>         <artifactId&g

Spring lnitializr專案SpringBoot+Mybatis逆向工程生成方法

第一步: pom檔案配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w

Springboot結合mybatismybatis generator的外掛,利用tk.mybatis的通用mapper實現逆向工程

SpringBoot結合Mybatis的generator外掛以及tk.mybatis的通用mapper實現逆向工程的生成 1.首先在資料庫中建好表。 2.然後在pom中增加mybatis和通用mapper的依賴,以及generator的外掛。 3.需要自己在u

springboot 框架 mybatis逆向工程

第一步建立maven專案  配置pom.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyB

SpringBoot Mybatis 逆向工程

一、在 pom.xml 檔案中,增加generator外掛 <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>myba

SpringBoot+Mybatis 逆向工程生成程式碼

一、匯入依賴包                  <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId>

SpringBoot 學習系列 | (八)IDEA Mybatis 生成逆向工程(generator)

本篇將主要介紹Mybatis的逆向工程如何在SpringBoot環境上實現。 環境準備        IDEA、SpringBoot、Mybatis  目錄結構     表結構 maven依賴的包與外掛(只貼出Mybatis相關包) <!--mysql資

idea+mybatis+springboot逆向工程生成程式碼

配置相關依賴及外掛: <dependency> <groupId>org.mybatis.spring.boot</groupId> <a