天天看點

IDEA整合SSM架構之配置mybatis-generator插件(四)配置mybatis-generator插件

IDEA整合SSM架構之配置mybatis-generator插件

  • 配置mybatis-generator插件
    • pom.xml中引入相關依賴包
    • 建立資料庫jdbc.properties配置檔案
    • 建立mybatis-generator.xml配置檔案
    • 在pom.xml添加generator的插件
    • 生成資料庫表對應的dao、entity、mapper

配置mybatis-generator插件

該插件是生成mybatis對應的dao、entity、mapper檔案,可快速的編寫SQL語句,進行項目開發。

pom.xml中引入相關依賴包

在pom.xml的節點中引入一下依賴包

<!--mybatis生成dao、entity、mapper的jar包-->
<dependency>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-core</artifactId>
    <version>1.3.7</version>
</dependency>
           

建立資料庫jdbc.properties配置檔案

  • 在resources檔案加下建立properties包(不存在時建立,可有可無),再建立jdbc.properties檔案
#資料庫連接配接資訊,資料庫位址,資料庫,使用者名,密碼,驅動以及其他資訊
jdbc.url=jdbc:mysql://localhost:3306/demo?roundRobinLoadBalance=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC
jdbc.username=root
jdbc.password=mysql
jdbc.driver=com.mysql.jdbc.Driver
jdbc.initialSize=5
jdbc.minIdle=5
jdbc.maxActive=100
jdbc.maxWait=100000
jdbc.testOnBorrow=false
jdbc.testOnReturn=false
jdbc.testWhileIdle=true
jdbc.timeBetweenEvictionRunsMillis=60000
jdbc.minEvictableIdleTimeMillis=25200000
jdbc.removeAbandoned=true
jdbc.removeAbandonedTimeout=1800
jdbc.logAbandoned=true
#
#
# 自動生成mybatis實體包
mybatis.generator.dao=com.xiao.demo.springmvc.mybatis.dao
mybatis.generator.entity=com.xiao.demo.springmvc.mybatis.entity
mybatis.generator.mapper=com.xiao.demo.springmvc.mybatis.mapper
           

建立mybatis-generator.xml配置檔案

  • 在resources下建立xml檔案夾(不存在時建立,非必須),再建立檔案mybatis-generator.xml檔案,内容如下:
<!--配置資料庫連接配接資訊,以及生成dao、entity、mapper路徑,
可以使用配置檔案資訊,也可以直接寫相關包路徑-->

<?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="properties/jdbc.properties"/>
    <!-- 資料庫驅動:選擇本地硬碟上面的資料庫驅動包-->
    <classPathEntry location="/Users/xiao/.m2/repository/mysql/mysql-connector-java/5.1.6/mysql-connector-java-5.1.6.jar"/>
    <!--生成一個實體類的類型   MyBatis3Simple   MyBatis3-->
    <context id="mysql" defaultModelType="flat" targetRuntime="MyBatis3">
        <property name="autoDelimitKeywords" value="false"/>
        <!-- 生成的Java檔案的編碼 -->
        <property name="javaFileEncoding" value="UTF-8"/>
        <!-- 格式化java代碼 -->
        <property name="javaFormatter" value="org.mybatis.generator.api.dom.DefaultJavaFormatter"/>
        <!-- 格式化XML代碼 -->
        <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

        <!-- beginningDelimiter和endingDelimiter:指明資料庫的用于标記資料庫對象名的符号,
        比如ORACLE就是雙引号,MYSQL預設是`反引号; -->
        <property name="beginningDelimiter" value="`"/>
        <property name="endingDelimiter" value="`"/>

        <commentGenerator>
            <property name="suppressDate" value="true"/>
            <!-- 是否去除自動生成的注釋 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>
        </commentGenerator>
        <jdbcConnection driverClass="${jdbc.driver}"
                        connectionURL="${jdbc.url}"
                        userId="${jdbc.username}"
                        password="${jdbc.password}">
            <property name="nullCatalogMeansCurrent" value="true"/>
        </jdbcConnection>
        <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
            <property name="forceBigDecimals" value="false"/>
        </javaTypeResolver>
        <!-- 生成模型的位置 這裡是引用配置檔案中的路徑, 可以直接寫包路徑-->
        <javaModelGenerator targetPackage="${mybatis.generator.entity}"
                            targetProject="src/main/java">
            <!-- enableSubPackages:是否讓schema作為包的字尾 -->
            <property name="enableSubPackages" value="true"/>
            <!-- 從資料庫傳回的值被清理前後的空格 -->
            <property name="trimStrings" value="true"/>
        </javaModelGenerator>
        <!-- 生成映射檔案的位置 這裡是引用配置檔案中的路徑, 可以直接寫包路徑-->
        <sqlMapGenerator targetPackage="${mybatis.generator.mapper}"
                         targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </sqlMapGenerator>
        <!-- 生成DAO的位置 這裡是引用配置檔案中的路徑, 可以直接寫包路徑-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="${mybatis.generator.dao}"
                             targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        </javaClientGenerator>
        <!--要生成的表 tableName是資料庫中的表名或視圖名 domainObjectName是實體類名-->
        <!--<table tableName="" domainObjectName=""/>-->
    </context>
</generatorConfiguration>
           

在pom.xml添加generator的插件

  • 在pom.xml添加generator的插件
在<build><plugins>...</plugins></build>中添加如下内容
如果有<pluginManagement>...</pluginManagement>節點,取消該節點,如果不取消,

<plugin>
    <groupId>org.mybatis.generator</groupId>
    <artifactId>mybatis-generator-maven-plugin</artifactId>
    <version>1.3.7</version>
    <configuration>
        <!--mybatis-generator.xml 路徑-->
        <configurationFile>src/main/resources/xml/mybatis-generator.xml</configurationFile>
        <verbose>true</verbose>
        <overwrite>true</overwrite>
    </configuration>
</plugin>
           
  • pom.xml配置正确,效果如下
    IDEA整合SSM架構之配置mybatis-generator插件(四)配置mybatis-generator插件

生成資料庫表對應的dao、entity、mapper

  • SQL語句

    mysql中運作,以t_user表為例,建立SQL語句如下

-- 如果存在,則删除
DROP TABLE IF EXISTS t_user;
-- 建立
CREATE TABLE t_user (
	id INT (11) NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '使用者編号',
	user_name VARCHAR (20) NOT NULL DEFAULT '' COMMENT '姓名',
	real_name VARCHAR (20) NOT NULL DEFAULT '' COMMENT '使用者名',
	sex VARCHAR (20) NOT NULL DEFAULT '' COMMENT '性别',
  tel VARCHAR(11) NOT NULL DEFAULT '' COMMENT '電話号碼',
  create_time datetime NOT NULL COMMENT '建立時間',
	update_time datetime NOT NULL COMMENT '更新時間'
)
           
  • 在mybatis-generator.xml 中加入表名以及對應實體類名稱
<context>
    ...其他配置
    
    <!--要生成的表 tableName是資料庫中的表名或視圖名 domainObjectName是實體類名-->
    <table tableName="t_user" domainObjectName="TUser"/>
</context>
           
  • 在Maven Projects 的視窗中,輕按兩下mybatis-generator選項
    IDEA整合SSM架構之配置mybatis-generator插件(四)配置mybatis-generator插件
  • 控制台輸出資訊
    IDEA整合SSM架構之配置mybatis-generator插件(四)配置mybatis-generator插件
    IDEA整合SSM架構之配置mybatis-generator插件(四)配置mybatis-generator插件
  • 配置的相關路徑下生産對應的檔案
    IDEA整合SSM架構之配置mybatis-generator插件(四)配置mybatis-generator插件

IDEA整合SSM架構教程

寫在最後

人這一生也沒有多少時間可以揮霍,

踏實一點,務實一些,

做自己想做的事,

如此簡單!