最近作項目,mapping 有點多並且容易寫錯,因而試着用了Mybatis-Generator 插件自動生成 dao, domain mapping 文件。感受還挺好用。把相關配置分享,一邊之後作項目的時候直接拿來用。 我用的是eclipse Mybatis-Generator 插件。java
環境:eclipse Mars.2mysql
插件:org.mybatis.generator.eclipse.site-1.3.5.201609070108 web
數據庫jar:mysql-connector-java-5.1.26-bin.jarsql
數據庫表:數據庫
CREATE TABLE `teacher` ( `id` bigint(20) NOT NULL DEFAULT '0' COMMENT '主鍵id', `name` varchar(40) NOT NULL DEFAULT '' COMMENT '名稱', `age` smallint(6) NOT NULL DEFAULT '0' COMMENT '年齡', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='教師表';
關於插件eclipse 自行百度。當安裝成功後(重啓eclipse ,在新建項目裏面有一個mybatis 文件夾說明插件安裝成功,以下圖),mybatis
首先新建一個Java項目(普通項目 or web項目)app
點擊新建 ---> 選擇其餘----> 選擇mybatis ---> 選擇下一步 ---> 選擇本地項目 會自動生成一個xml 文件,設置就是在xml 裏面完成的dom
最終目錄結構以下圖 ,須要說明的是 包必需要本身建立,數據庫的jar 包須要本身添加eclipse
源文件: mybatis_generatorConfig.propertieswebapp
1 # 數據庫驅動jar 路徑 2 drive.class.path=F:/Users/zh/workspace/Mybatis_Generator/webapp/WEB-INF/lib/mysql-connector-java-5.1.26-bin.jar 3 4 # 數據庫鏈接參數 5 jdbc.driver=com.mysql.jdbc.Driver 6 jdbc.url=jdbc:mysql://localhost:3306/articl 7 jdbc.username=root 8 jdbc.password=123 9 10 # 包路徑配置 11 model.package=cn.mg.damain 12 dao.package=cn.mg.dao 13 xml.mapper.package=cn.mg.dao 14 #項目名稱 15 target.project=Mybatis_Generator
generatorConfig.xml 配置:
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE generatorConfiguration 3 PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" 4 "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> 5 6 <generatorConfiguration> 7 <!-- 配置文件路徑 --> 8 <properties resource="mybatis_generatorConfig.properties" /> 9 <!--數據庫驅動包路徑 --> 10 <classPathEntry location="${drive.class.path}" /> 11 12 <context id="MySQLTables" targetRuntime="MyBatis3"> 13 <!--關閉註釋 --> 14 <commentGenerator> 15 <property name="suppressDate" value="true" />
<property name="suppressAllComments" value="true"/>
16 </commentGenerator> 17 18 <!--數據庫鏈接信息 --> 19 <jdbcConnection driverClass="${jdbc.driver}" 20 connectionURL="${jdbc.url}" userId="${jdbc.username}" password="${jdbc.password}"> 21 </jdbcConnection> 22 <!--targetPackage 表示包名 targetProject:表示項目名稱 --> 23 <!--生成的model 包路徑 --> 24 <javaModelGenerator targetPackage="${model.package}" 25 targetProject="${target.project}"> 26 <property name="enableSubPackages" value="ture" /> 27 <property name="trimStrings" value="true" /> 28 </javaModelGenerator> 29 30 <!--生成xml mapper文件 路徑 --> 31 <sqlMapGenerator targetPackage="${xml.mapper.package}" 32 targetProject="${target.project}"> 33 <property name="enableSubPackages" value="ture" /> 34 </sqlMapGenerator> 35 36 <!-- 生成的Dao接口 的包路徑 --> 37 <javaClientGenerator type="XMLMAPPER" 38 targetPackage="${dao.package}" targetProject="${target.project}"> 39 <property name="enableSubPackages" value="ture" /> 40 </javaClientGenerator> 41 42 <!--對應數據庫表名 tableName domainObjectName 表示生成的domain 名--> 43 <table tableName="teacher" domainObjectName="teacher" enableCountByExample="false" 44 enableUpdateByExample="false" enableDeleteByExample="false" 45 enableSelectByExample="false" selectByExampleQueryId="false"> 46 </table> 47 </context> 48 </generatorConfiguration>
最後右鍵generatorConfig.xml 選擇Generate