Mybatis-逆向工程

逆向工程生成Mybatis映射文件及持久化类

使用IDEA逆向工程生成Mybatis的配置文件没有Hibernate那么方便—Hibernate逆向工程,因为IDEA没有Mybatis的逆向工程插件,所以想要使用Mybatis逆向工程,需要创建一个Java项目,利用Mybatis官方提供的jar包:mybatis-generator-core-1.3.2,完成逆向工程操作

1.创建一个逆向工程项目

我创建了一个Mybatis逆向工程项目并把它放到了码云上,链接地址–Mybatis逆向工程
如果自己创建项目,则创建一个普通Java项目即可(我创建了一个Maven项目)
1,创建一个Java类GeneratorSqlmap
2,导入log4j日志文件
3,在项目目录下创建一个逆向工程配置文件generatorConfig.xml
4,导入jar包,最重要的是mybatis-generator-core-1.3.2(实现逆向工程的工具类都在这个jar包中)

项目结构如图所示

Mybatis-逆向工程_第1张图片

2.完善工具类及配置文件

1.log4j配置文件(对项目没有影响,一般配置即可)

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### direct messages to file mylog.log ###
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=d:\\mylog.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - for more verbose logging change 'info' to 'debug' ###
### fatal error warn info debug trace
log4j.rootLogger=off, stdout

2.工具类GeneratorSqlmap(不用改动)

package com.itheima.utils;

import org.mybatis.generator.api.MyBatisGenerator;
import org.mybatis.generator.config.Configuration;
import org.mybatis.generator.config.xml.ConfigurationParser;
import org.mybatis.generator.internal.DefaultShellCallback;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class GeneratorSqlmap {

    public void generator() throws Exception{

        List warnings = new ArrayList();
        boolean overwrite = true;
        //指定逆向工程配置文件generatorConfig.xml
        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);

    } 
    //项目配置完成后运行main程序即可获得映射文件和持久化类
    public static void main(String[] args) throws Exception {
        try {
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
            generatorSqlmap.generator();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

}

3.配置逆向工程配置文件generatorConfig.xml




<generatorConfiguration>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            
            <property name="suppressAllComments" value="true" />
        commentGenerator>
        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/babasport" userId="root"
            password="***">
        jdbcConnection>
        
        

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

        
        <javaModelGenerator targetPackage="com.sandking.mybatis.pojo"
            targetProject=".\src">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>

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

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

        
        <table schema="" tableName="bbs_color">table>
        <table schema="" tableName="bbs_city">table>
        
    context>
generatorConfiguration>

上述配置文件的配置只有部分是需要根据不同的项目做相应更改的,大部分配置使用默认即可

需要根据不同项目做相应更改的地方

2.连接数据库的用户名和密码
4.持久化类的生成位置
7.mapper映射文件的生成位置
9.mapper接口的生成位置
11.配置数据库的表的信息,只用配置tableName属性(数据库表表名)

3.运行工程生成配置文件及持久化类

Mybatis-逆向工程_第2张图片
运行GeneratorSqlmap的main方法

你可能感兴趣的:(Mybatis,Mybatis从入门到入土)