根据数据中的表生成实体和mapper接口及映射文件

  

1.创建一个Java工程,工程结构为

根据数据中的表生成实体和mapper接口及映射文件


2.需要的jar包

链接:http://pan.baidu.com/s/1gd2jNDh 密码:pyux


3.GeneratorSqlmap

public class GeneratorSqlmap {

     public void generator() throws Exception{

           List<String> warnings = new ArrayList<String>();

            boolean overwrite = true;

           File configFile = new File( "generatorConfig.xml");

           ConfigurationParser cp = new ConfigurationParser(warnings);

           Configuration config = cp.parseConfiguration(configFile);

           DefaultShellCallback callback

                    = new DefaultShellCallback(overwrite);

           MyBatisGenerator myBatisGenerator

                    = new MyBatisGenerator(config,callback, warnings);

           myBatisGenerator.generate( null);

     }

     public static void main(String[] args) throws Exception {

            try {

                GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();

                generatorSqlmap.generator();

           } catch (Exception e) {

                e.printStackTrace();

           }

     }

}


4.log4j.properties

log4j.rootLogger=DEBUG, Console

#Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender

log4j.appender.Console.layout =org.apache.log4j.PatternLayout

log4j.appender.Console.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

log4j.logger.java.sql.ResultSet =INFO

log4j.logger.org.apache=INFO

log4j.logger.java.sql.Connection =DEBUG

log4j.logger.java.sql.Statement =DEBUG

log4j.logger.java.sql.PreparedStatement =DEBUG


5.generatorConfig.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>

     <context id ="testTables" targetRuntime="MyBatis3">

            <commentGenerator >

                 <!-- 是否去除自动生成的注释 true:是 : false:否 -->

                 <property name ="suppressAllComments" value= "true" />

            </commentGenerator>

            <!--数据库连接的信息:驱动类、连接地址、用户名、密码 -->

          <!--

               <jdbcConnection driverClass="com.mysql.jdbc.Driver"

                    connectionURL=

                        "jdbc:mysql:// localhost:3306/mybatis " userId="root"

                    password=" mysql">

               </jdbcConnection> 

          -->

           

           <!--

                                 根据数据中的表生成实体和mapper接口及映射文件

          -->

            <jdbcConnection driverClass="oracle.jdbc.OracleDriver"

                 connectionURL= "jdbc:oracle:thin:@192.168.56.101:1521:orcl"

                 userId= "hfzj"

                 password= "hfzj">

            </jdbcConnection>


            <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为

                Integer true,

                把JDBC DECIMAL 和 NUMERIC 类型解析为java.math.BigDecimal -->

            <javaTypeResolver >

                 <property name ="forceBigDecimals" value= "false" />

            </javaTypeResolver>


            <!-- targetProject:生成PO类的位置 

                        pc.hfzj.po为你生成的实体要放的位置 -->

            <javaModelGenerator targetPackage ="pc.hfzj.po"

                 targetProject= ".\src">

                 <!-- enableSubPackages:是否让schema作为包的后缀 -->

                 <property name ="enableSubPackages" value= "false" />

                 <!-- 从数据库返回的值被清理前后的空格 -->

                 <property name ="trimStrings" value="true" />

            </javaModelGenerator>

        <!-- targetProject:mapper映射文件生成的位置

                pc.hfzj.dao.mapper为你生成的mapper映射文件要放的位置 -- >

            <sqlMapGenerator targetPackage ="pc.hfzj.dao.mapper"

                 targetProject= ".\src">

                 <!-- enableSubPackages:是否让schema作为包的后缀 -->

                 <property name ="enableSubPackages" value= "false" />

            </sqlMapGenerator>

           <!-- targetPackage:mapper接口生成的位置

                        pc.hfzj.dao.mapper为你生成的mapper接口要放的位置 --> 

            <javaClientGenerator type ="XMLMAPPER"

                 targetPackage= "pc.hfzj.dao.mapper"

                 targetProject= ".\src">

                 <!-- enableSubPackages:是否让schema作为包的后缀 -->

                 <property name ="enableSubPackages" value= "false" />

            </javaClientGenerator>

            <!-- 指定数据库表  tableName位生成实体的表名 -->

            <table schema ="" tableName="tableName" ></table>

           

            <!-- 有些表的字段需要指定java类型

            <table schema="" tableName="">

                <columnOverride column="" javaType="" />

           </table> -->

     </context >

</generatorConfiguration>

你可能感兴趣的:(根据数据中的表生成实体和mapper接口及映射文件)