應某位朋友的要求例隆,針對SSM系統(tǒng),以及如何使用mybatis逆向生成工具做一個簡單的介紹镰禾。本教程會講解如何從零開始一步一步搭建出SSM系統(tǒng)唱逢,其中Mybatis會使用逆向工程生成工具。
開發(fā)工具:eclipse
數(shù)據(jù)庫:MYSQL
首先惶我,新建數(shù)據(jù)庫绸贡,比如我這邊新建了一個數(shù)據(jù)庫叫crud,就是一個簡單的增刪改查听怕。
里面只有一張用戶表
表結(jié)構(gòu):
OK尿瞭,數(shù)據(jù)庫建好了之后,讓我們使用mybatis逆向生成工具來進行配置黑竞。
打開這個配置文件:
<?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>
<context id="testTables" targetRuntime="MyBatis3">
<commentGenerator>
<!-- 是否去除自動生成的注釋 true:是 : false:否 -->
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!--數(shù)據(jù)庫連接的信息:驅(qū)動類很魂、連接地址檐涝、用戶名、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/crud" userId="root"
password="123456">
</jdbcConnection>
<!-- 默認false幅聘,把JDBC DECIMAL 和 NUMERIC 類型解析為 Integer窃植,為 true時把JDBC DECIMAL 和
NUMERIC 類型解析為java.math.BigDecimal -->
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- targetProject:生成PO類的位置 -->
<javaModelGenerator targetPackage="com.app.entity"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
<!-- 從數(shù)據(jù)庫返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="sql"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.app.dao"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<!-- 指定數(shù)據(jù)庫表 -->
<table schema="" tableName="users"></table>
</context>
</generatorConfiguration>
需要關(guān)注這樣幾個地方:
<!--數(shù)據(jù)庫連接的信息:驅(qū)動類巷怜、連接地址狞尔、用戶名巩掺、密碼 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/crud" userId="root"
password="123456">
</jdbcConnection>
這個是對應具體的數(shù)據(jù)庫連接信息,根據(jù)你的實際情況改成你自己的即可研儒。
<!-- targetProject:生成PO類的位置 -->
<javaModelGenerator targetPackage="com.app.entity"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
<!-- 從數(shù)據(jù)庫返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
這段配置我們只需要關(guān)注targetPackage這個屬性独令,規(guī)定最終實體類所在的包名。
<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="sql"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
這是規(guī)定xml文件所在的包名冲呢。
<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.app.dao"
targetProject=".\src">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
這是規(guī)定接口類所在的包名招狸。
<!-- 指定數(shù)據(jù)庫表 -->
<table schema="" tableName="users"></table>
最后一步裙戏,設置哪些數(shù)據(jù)庫表需要逆向生成代碼?這邊我們就寫一張表即可累榜。然后,找到啟動類:
運行:
刷新src,就可以看到生成的包和代碼:
逆向生成工具下載:http://java520.top/?id=43