Mysql版本:5.1.73
Maven:3.5.0
IDEA:2017
前言:
在前兩篇文章中已經(jīng)將Mavenweb項(xiàng)目創(chuàng)建好并且部署在Tomcat上了柑潦,接下來需要做的就是使用mybatis逆向生成dao略板,mappers阔挠,pojo的文件。(在文章中所使用到的jar包除了mysql-connectorjar包沒有其它的jar包都已在第一篇創(chuàng)建Maven Web的文章中通過pom.xml加載了。)
mysql-connectorjar jar下載地址 http://pan.baidu.com/s/1mhPfSBA
Mybatis的三劍客:MyBatis-Generate嘉汰、Mybatis Plus、MyBatis-PageHelper
Mybatis-Generate:是一個自動生成代碼的工具状勤,可以生成基本的數(shù)據(jù)表對應(yīng)的實(shí)體對象以及對對象基本操作的dao層
Mybatis Plus:是國內(nèi)大牛在Mybatis3的基礎(chǔ)上做了一些封裝鞋怀,簡化了一些操作(分頁双泪,自動生成實(shí)體塊等)。
MyBatis-PageHelper:是指Mybatis的一個分頁插件
在這里我們先寫Mybatis-Generate逆向生成工具的用法密似,首先先把所有的包和文件都創(chuàng)建好焙矛。如下圖所示:
在generatorConfig.xml文件中加入以下內(nèi)容:
<?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>
<!--導(dǎo)入屬性配置-->
<properties resource="datasource.properties"></properties>
<!--指定特定數(shù)據(jù)庫的jdbc驅(qū)動jar包的位置-->
<classPathEntry location="${db.driverLocation}"/>
<context id="default" targetRuntime="MyBatis3">
<!-- optional,旨在創(chuàng)建class時残腌,對注釋進(jìn)行控制 -->
<commentGenerator>
<property name="suppressDate" value="true"/>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--jdbc的數(shù)據(jù)庫連接 -->
<jdbcConnection
driverClass="${db.driverClassName}"
connectionURL="${db.url}"
userId="${db.username}"
password="${db.password}">
</jdbcConnection>
<!-- 非必需村斟,類型處理器,在數(shù)據(jù)庫類型和java類型之間的轉(zhuǎn)換控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- Model模型生成器,用來生成含有主鍵key的類抛猫,記錄類 以及查詢Example類
targetPackage 指定生成的model生成所在的包名
targetProject 指定在該項(xiàng)目下所在的路徑
-->
<!--<javaModelGenerator targetPackage="com.mmall.pojo" targetProject=".\src\main\java">-->
<javaModelGenerator targetPackage="com.mmall.pojo" targetProject="./src/main/java">
<!-- 是否允許子包蟆盹,即targetPackage.schemaName.tableName -->
<property name="enableSubPackages" value="false"/>
<!-- 是否對model添加 構(gòu)造函數(shù) -->
<property name="constructorBased" value="true"/>
<!-- 是否對類CHAR類型的列的數(shù)據(jù)進(jìn)行trim操作 -->
<property name="trimStrings" value="true"/>
<!-- 建立的Model對象是否 不可改變 即生成的Model對象不會有 setter方法,只有構(gòu)造方法 -->
<property name="immutable" value="false"/>
</javaModelGenerator>
<!--mapper映射文件生成所在的目錄 為每一個數(shù)據(jù)庫的表生成對應(yīng)的SqlMap文件 -->
<!--<sqlMapGenerator targetPackage="mappers" targetProject=".\src\main\resources">-->
<sqlMapGenerator targetPackage="mappers" targetProject="./src/main/resources">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 客戶端代碼闺金,生成易于使用的針對Model對象和XML配置文件 的代碼
type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper對象
type="MIXEDMAPPER",生成基于注解的Java Model 和相應(yīng)的Mapper對象
type="XMLMAPPER",生成SQLMap XML文件和獨(dú)立的Mapper接口
-->
<!-- targetPackage:mapper接口dao生成的位置 -->
<!--<javaClientGenerator type="XMLMAPPER" targetPackage="com.mmall.dao" targetProject=".\src\main\java">-->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.mmall.dao" targetProject="./src/main/java">
<!-- enableSubPackages:是否讓schema作為包的后綴 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
<table tableName="數(shù)據(jù)庫名稱" domainObjectName="生成的實(shí)體類名" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
<!-- geelynote mybatis插件的搭建 -->
</context>
</generatorConfiguration>
在datasource.properties文件中添加下面的代碼:
#你mysql jar 的路徑
db.driverLocation=/Users/imooc/mysql-connector-java-5.1.6-bin.jar
db.driverClassName=com.mysql.jdbc.Driver
#db.url=jdbc:mysql://192.1.1.1:3306/mmall?characterEncoding=utf-8
db.url=jdbc:mysql://你的數(shù)據(jù)庫IP:你的數(shù)據(jù)庫Port/你的database?characterEncoding=utf-8
db.username=數(shù)據(jù)庫用戶名
db.password=數(shù)據(jù)庫密碼
最后點(diǎn)擊mybatis-generator:generate生成文件
最后的結(jié)果如下圖: