最近做項目,mapping 有點多而且容易寫錯,於是試着用了Mybatis-Generator 插件自動生成 dao, domain mapping 文件。感覺還挺好用。把相關配置分享,一邊以后做項目的時候直接拿來用。 我用的是eclipse Mybatis-Generator 插件。
環境:eclipse Mars.2
插件:org.mybatis.generator.eclipse.site-1.3.5.201609070108
數據庫jar:mysql-connector-java-5.1.26-bin.jar
數據庫表:
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 文件夾說明插件安裝成功,如下圖),
首先新建一個Java項目(普通項目 or web項目)
點擊新建 ---> 選擇其他----> 選擇mybatis ---> 選擇下一步 ---> 選擇本地項目 會自動生成一個xml 文件,設置就是在xml 里面完成的
最終目錄結構如下圖 ,需要說明的是 包必須要自己創建,數據庫的jar 包需要自己添加
源文件: mybatis_generatorConfig.properties
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