//本文作者:cuifuan
//本文将收录到菜单栏:《Spring全家桶》专栏中
如果有朋友想加入spring交流群,可以看第二条推送
Mybatis 是一个持久层ORM框架,负责Java与数据库数据交互,也可以简易理解为中介,相对于它,还有个中介是hibernate,不过在mybatis中sql语句的灵活性,可优化性比较强,这也是现在大多数人选择的原因。
1. mapper.xml、dao接口、实体类自动生成
1.1 修改配置文件generator.xml
解压之后,这里把文件拷贝到了C:resourcesgenerator文件夹下,以下称为"当前文件目录"
一次配置,终身受益
generator.xml
123456789101112131415161718192021222324252627282930313233343536373839
?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 !-- 数据库驱动包位置 也就是刚解压的文件的位置加上 mysql-connector-java-5.1.34.jar-- classPathEntry location="C:\resources\generator\mysql-connector-java-5.1.34.jar" / !--这里也适用Oracle数据库的自动生成-- !-- classPathEntry location="C:\resources\generator\ojdbc6.jar" / -- context id="DB2Tables" targetRuntime="MyBatis3" commentGenerator !-- 去除生成日期 -- property name="suppressDate" value="true"/ !-- 去除所有的注解 -- property name="suppressAllComments" value="true"/ /commentGenerator !-- 数据库链接URL、用户名、密码 -- jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/ceilan" userId="root" password="123456" !-- jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="scott" password="tiger"-- /jdbcConnection !--java类型处理器-- javaTypeResolver property name="forceBigDecimals" value="false" / /javaTypeResolver !-- 生成模型的包名和位置 -- javaModelGenerator targetPackage="com.example.entity" targetProject="C:\resources\generator\src" property name="enableSubPackages" value="true" / property name="trimStrings" value="true" / /javaModelGenerator !-- 生成的映射文件包名和位置 -- sqlMapGenerator targetPackage="mapping" targetProject="C:\resources\generator\src" property name="enableSubPackages" value="true" / /sqlMapGenerator !-- 生成DAO的包名和位置 -- javaClientGenerator type="XMLMAPPER" targetPackage="com.example.dao" targetProject="C:\resources\generator\src" property name="enableSubPackages" value="true" / /javaClientGenerator !-- 要生成哪个表,更改tableName(数据库里表名)和domainObjectName(实体名,一般首字母大写)就可以 -- table tableName="area" domainObjectName="Area" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" / /context/generatorConfiguration
?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
!– 数据库驱动包位置 也就是刚解压的文件的位置加上 mysql-connector-java-5.1.34.jar–
classPathEntry location=”C:\resources\generator\mysql-connector-java-5.1.34.jar” /
!–这里也适用Oracle数据库的自动生成–
!– classPathEntry location=”C:\resources\generator\ojdbc6.jar” / –
context id=”DB2Tables” targetRuntime=”MyBatis3”
commentGenerator
!– 去除生成日期 –
property name=”suppressDate” value=”true”/
!– 去除所有的注解 –
property name=”suppressAllComments” value=”true”/
/commentGenerator
!– 数据库链接URL、用户名、密码 –
jdbcConnection driverClass=”com.mysql.jdbc.Driver” connectionURL=”jdbc:mysql://localhost:3306/ceilan” userId=”root” password=”123456”
!– jdbcConnection driverClass=”oracle.jdbc.driver.OracleDriver” connectionURL=”jdbc:oracle:thin:@localhost:1521:orcl” userId=”scott” password=”tiger”–
/jdbcConnection
!–java类型处理器–
javaTypeResolver
property name=”forceBigDecimals” value=”false” /
/javaTypeResolver
!– 生成模型的包名和位置 –
javaModelGenerator targetPackage=”com.example.entity” targetProject=”C:\resources\generator\src”
property name=”enableSubPackages” value=”true” /
property name=”trimStrings” value=”true” /
/javaModelGenerator
!– 生成的映射文件包名和位置 –
sqlMapGenerator targetPackage=”mapping” targetProject=”C:\resources\generator\src”
property name=”enableSubPackages” value=”true” /
/sqlMapGenerator
!– 生成DAO的包名和位置 –
javaClientGenerator type=”XMLMAPPER” targetPackage=”com.example.dao” targetProject=”C:\resources\generator\src”
property name=”enableSubPackages” value=”true” /
/javaClientGenerator
!– 要生成哪个表,更改tableName(数据库里表名)和domainObjectName(实体名,一般首字母大写)就可以 –
table tableName=”area” domainObjectName=”Area” enableCountByExample=”false” enableUpdateByExample=”false” enableDeleteByExample=”false” enableSelectByExample=”false” selectByExampleQueryId=”false” /
/context
/generatorConfiguration
1.2 用Java运行自动生成
在当前目录下打开cmd命令,运行如下
注 : windows系统可直接执行 [ 生成.bat ] 批处理文件