本博客主要讲解如何使用自己的MyBatis Generator工程,实现数据库表到Mapper已经Po类的映射。程序下载地址:MyBatis反转 1.项目结构
GeneratorSqlmap.java为程序入口,不需要修改任何东西,在此运行即可。 config为log4J日志的配置文件,用于输出程序的日志信息,便于查看程序运行情况和异常处理。(一般生成文件只需要几秒) lib为程序依赖的jar包。 generatorConfig.xml为核心文件,需要修改的配置项都在这。 2.使用方法 首先打开generatorConfig.xml 需要修改的地方有以下几处:所有需要修改的地方均加**标注 2.1 数据库连接信息
代码语言:javascript复制<!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="*jdbc:mysql://localhost:3306/mybatis*"
userId="*root*"
password="*root*">
此处使用的是mysql,注释部分有oracle的配置,SQLServer请自行查找相关配置。 2.2配置生成PO类的位置(包名)
代码语言:javascript复制<!-- targetProject:生成PO类的位置 -->
<javaModelGenerator targetPackage="*com.geekfly.ssm.po*"
targetProject=".src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
<!-- 从数据库返回的值被清理前后的空格 -->
<property name="trimStrings" value="true" />
</javaModelGenerator>
2.3配置生成mapper文件的位置(包名)
代码语言:javascript复制<!-- targetProject:mapper映射文件生成的位置 -->
<sqlMapGenerator targetPackage="*com.geekfly.ssm.mapper*"
targetProject=".src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</sqlMapGenerator>
2.4 配置生成接口的位置
代码语言:javascript复制<!-- targetPackage:mapper接口生成的位置 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="*com.geekfly.ssm.mapper*"
targetProject=".src">
<!-- enableSubPackages:是否让schema作为包的后缀 -->
<property name="enableSubPackages" value="false" />
</javaClientGenerator>
由于我使用的是SSM框架的自动包扫描机制,所以Mapper.xml文件和接口在同一个包下,关于如何搭建SSM框架请查看: SSM框架的搭建(Spring SpringMVC Mybatis第一个项目的搭建) 2.5 配置需要生成的表名
代码语言:javascript复制<!-- 指定数据库表 -->
<table tableName="items"></table>
<table tableName="orders"></table>
<table tableName="orderdetail"></table>
<table tableName="user"></table>
可填写多个 如果需要指定字段类型
代码语言:javascript复制<!-- 有些表的字段需要指定java类型
<table schema="" tableName="">
<columnOverride column="" javaType="" />
</table> -->
3.运行GeneratorSqlmap.java文件即可,待控制台输入日志信息完毕,在工程上F5刷新即可看到生成的包和文件,将这些文件粘贴到自己的web工程即可使用。
Mac OS下注意将映射文件地址的路径改为’/’!!!