MyBatis逆向工程生成代码(附源码)

什么是逆向工程

MyBatis逆向工程可以方便的从数据库中将表自动映射到JAVA POJO类,并同时生成Mapper.xml和Mapper接口,方便实用。
MyBatis的一个主要的特点就是需要程序员自己编写sql,那么如果表太多的话,难免会很麻烦,所以mybatis官方提供了一个逆向工程,可以针对单表自动生成mybatis执行所需要的代码(包括mapper.xml、mapper.java、po…)。一般在开发中,常用的逆向工程方式是通过数据库的表生成代码。

jar包

需要使用逆向工程jar: mybatis-generator-core-1.3.2.jar
mybatis 的jar:mybatis-3.4.5.jar
数据库驱动jar:mysql-connector-java-5.1.7-bin.jar


案例

1)新建java project 为mybatisGenerator

使用逆向工程,我们最好是新建一个Java Project,而不要直接在项目工程中进行,以免自动生成的文件名冲突而造成覆盖。在新建的项目中生成代码,然后拷贝即可。

2)导入jar包

在项目下新建lib,把jar拷贝进去
在这里插入图片描述

build path:
MyBatis逆向工程生成代码(附源码)_第1张图片

3)新建一个GerenatorConfig.xml配置文件

新建配置文件,主要配置以下信息:

1、连接数据库,这是必须的,要不然怎么根据数据库的表生成代码呢?
2、指定要生成代码的位置,要生成的代码包括po类,mapper.xml和mapper.java
3、指定数据库中想要生成哪些表



<generatorConfiguration>

    <context id="MybatisGenerator" targetRuntime="MyBatis3">
        <commentGenerator>
            
            <property name="supressAllComments" value="true" />
        commentGenerator>

        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/mybatis"
            userId="root" password="123456">
        jdbcConnection>

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

        
        <javaModelGenerator targetPackage="com.oak.po"
            targetProject=".\src">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>

        
        <sqlMapGenerator targetPackage="com.oak.mapper" targetProject=".\src">
        	
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>

        
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.oak.mapper" targetProject=".\src">
            
            <property name="enableSubPackages" value="false" />
        javaClientGenerator>

        
        <table tableName="student" />
        <table tableName="grade" />
      
        

    context>
generatorConfiguration>

4)新建一个class为MyGenerator.java

此类主要是用来加载配置文件,执行生成代码:

public class MyGenerator {
	 public void generate() throws Exception {
	        List<String> warnings = new ArrayList<String>();
	        boolean overwrite = true;
	        File configFile = new File("GerenatorConfig.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 {
	            MyGenerator myGenerator = new MyGenerator();
	            myGenerator.generate();
	        } catch (Exception e) {
	            e.printStackTrace();
	        }
	    }
}

5)执行java类,查看结果

MyBatis逆向工程生成代码(附源码)_第2张图片

6)不要忘了刷新项目!!!

你可能感兴趣的:(MyBatis)