首页 > 代码库 > Mybatis 自动生成代码,数据库postgresql

Mybatis 自动生成代码,数据库postgresql

最近做了一个项目,使用Mybatis自动生成代码,下面做一下总结,被以后参考:

一、提前准备:

1、工具类:mybatis-generator-core-1.3.2.jar

2、postgresql驱动:postgresql-9.2-1003-jdbc4.jar

3、xml文件

这些我都上传到了附件上,下载链接:Download

二、XML详解

咱们的核心配置文件:mybatisGeneratorConfig.xml

<?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>        <classPathEntry        location="/Users/liqiu/git/study/web/soft/postgresql-9.2-1003-jdbc4.jar" />        <context id="tts2">                <jdbcConnection driverClass="org.postgresql.Driver"                        connectionURL="jdbc:postgresql://l-***.com:5433/crm"                        userId="menpiao_dev" password="d**904-8dce-**d0-bb1b-79***cc">                </jdbcConnection>        <javaModelGenerator targetPackage="com.qunar.study.entity" targetProject="/Users/liqiu/git/study/web/src/main/java">                        <property name="enableSubPackages" value="false" />                        <property name="trimStrings" value="true" />                </javaModelGenerator>        <sqlMapGenerator targetPackage="mybatis" targetProject="/Users/liqiu/git/study/web/src/main/resources/">                </sqlMapGenerator>        <javaClientGenerator type="XMLMAPPER" targetPackage="com.qunar.study.mapper" targetProject="/Users/liqiu/git/study/web/src/main/java">                        <property name="enableSubPackages" value="false" />                </javaClientGenerator>                          <table schema="public" tableName="users" domainObjectName="Users"></table>        <table schema="public" tableName="region_manager" domainObjectName="RegionManager"></table>        <table schema="public" tableName="region" domainObjectName="Region"></table>        <table schema="public" tableName="merchant" domainObjectName="Merchant"></table>        <table schema="public" tableName="state_machine" domainObjectName="StateMachine"></table>        <table schema="public" tableName="work_log" domainObjectName="WorkLog"></table>        <table schema="public" tableName="contract" domainObjectName="Contract"></table>        <table schema="public" tableName="notice" domainObjectName="Notice"></table>        <table schema="public" tableName="contact_person_info" domainObjectName="ContactPersonInfo"></table>        <table schema="public" tableName="express" domainObjectName="Express"></table>        <table schema="public" tableName="comment" domainObjectName="Comment"></table>        <!--            <table schema="public" tableName="operation" domainObjectName="Operation" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true" ></table>        -->        </context></generatorConfiguration>

三、执行代码:

java -jar /Users/liqiu/git/study/web/soft/mybatis-generator-core-1.3.2/lib/mybatis-generator-core-1.3.2.jar -configfile /Users/liqiu/git/study/web/soft/mybatisGeneratorConfig.xml -overwrite

这时就可以看见生成的代码了

├── src│   ├── main│   │   ├── java│   │   │   ├── com│   │   │   │   └── qunar│   │   │   │       └── study│   │   │   │           ├── entity│   │   │   │           │   ├── Comment.java│   │   │   │           │   ├── CommentExample.java│   │   │   │           │   ├── ContactPersonInfo.java│   │   │   │           │   ├── ContactPersonInfoExample.java│   │   │   │           │   ├── Contract.java│   │   │   │           │   ├── ContractExample.java│   │   │   │           │   ├── Express.java│   │   │   │           │   ├── ExpressExample.java│   │   │   │           │   ├── Merchant.java│   │   │   │           │   ├── MerchantExample.java│   │   │   │           │   ├── Notice.java│   │   │   │           │   ├── NoticeExample.java│   │   │   │           │   ├── Operation.java│   │   │   │           │   ├── OperationExample.java│   │   │   │           │   ├── Region.java│   │   │   │           │   ├── RegionExample.java│   │   │   │           │   ├── RegionManager.java│   │   │   │           │   ├── RegionManagerExample.java│   │   │   │           │   ├── StateMachine.java│   │   │   │           │   ├── StateMachineExample.java│   │   │   │           │   ├── Users.java│   │   │   │           │   ├── UsersExample.java│   │   │   │           │   ├── WorkLog.java│   │   │   │           │   └── WorkLogExample.java│   │   │   │           └── mapper│   │   │   │               ├── CommentMapper.java│   │   │   │               ├── ContactPersonInfoMapper.java│   │   │   │               ├── ContractMapper.java│   │   │   │               ├── ExpressMapper.java│   │   │   │               ├── MerchantMapper.java│   │   │   │               ├── NoticeMapper.java│   │   │   │               ├── OperationMapper.java│   │   │   │               ├── RegionManagerMapper.java│   │   │   │               ├── RegionMapper.java│   │   │   │               ├── StateMachineMapper.java│   │   │   │               ├── UsersMapper.java│   │   │   │               └── WorkLogMapper.java│   │   │   └── test│   │   │       └── qunar│   │   │           └── com│   │   │               └── web│   │   │                   └── App.java│   │   └── resources│   │       └── mybatis│   │           ├── CommentMapper.xml│   │           ├── ContactPersonInfoMapper.xml│   │           ├── ContractMapper.xml│   │           ├── ExpressMapper.xml│   │           ├── MerchantMapper.xml│   │           ├── NoticeMapper.xml│   │           ├── OperationMapper.xml│   │           ├── RegionManagerMapper.xml│   │           ├── RegionMapper.xml│   │           ├── StateMachineMapper.xml│   │           ├── UsersMapper.xml│   │           └── WorkLogMapper.xml

注:这里的核心是路径,最好都是用绝对路径