学习笔记之Mybatis之逆向工程

由于mybatis需要手写mysql代码,可以使用逆向工程功能块来自动生成Mapper.xml,pojo,接口文件等:,产生后拿来使用
可以有多种方式使用逆向工程,这里使用的是xml文件配置的方法

首先需要引入这三个包



工程目录:


需要建立一个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/student" userId="root"
            password="jue123">
        </jdbcConnection>


        <!-- 默认false,把JDBC DECIMAL 和 NUMERIC 类型解析为 Integer,为 true时把JDBC DECIMAL 和 
            NUMERIC 类型解析为java.math.BigDecimal -->
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        </javaTypeResolver>

        <!-- targetProject:生成PO类的位置 -->
        <javaModelGenerator targetPackage="com.ssm.po"
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
            <!-- 从数据库返回的值被清理前后的空格 -->
            <property name="trimStrings" value="true" />
        </javaModelGenerator>
        <!-- targetProject:mapper映射文件生成的位置 -->
        <sqlMapGenerator targetPackage="com.ssm.mapper" 
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </sqlMapGenerator>
        <!-- targetPackage:mapper接口生成的位置 -->
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="com.ssm.mapper" 
            targetProject=".\src">
            <!-- enableSubPackages:是否让schema作为包的后缀 -->
            <property name="enableSubPackages" value="false" />
        </javaClientGenerator>
        <!-- 指定数据库表 -->
        <table tableName="mb_test1"></table>

 </context>
</generatorConfiguration>

设置好建立一个GeneratorSqlmap.java文件用来运行逆向工程:

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

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;

public class GeneratorSqlmap {  
  
    public void generator() throws Exception{  
  
        List<String> warnings = new ArrayList<String>();  
        boolean overwrite = true;  
        //指定 逆向工程配置文件  
        File configFile = new File("lib/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)  {  
        try {  
            GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();  
            generatorSqlmap.generator();  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
          
    }  
  
}  

生成后会多这几个文件:


将他们拷贝到要使用的位置,

	private static ApplicationContext applicationContext;

	public static void main(String[] args) throws Exception {
		
		 applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");
		 //在application中已经扫描过了,可以直接获取bean
		MbTest1Mapper mbTest1Mapper=(MbTest1Mapper) applicationContext.getBean("mbTest1Mapper");
		//查询主键id的信息
	MbTest1	mbTest1=mbTest1Mapper.selectByPrimaryKey(1);
				 System.out.println(mbTest1);
		
	}

导入spring和mybatis整合的项目中,直接使用就可以

我是看这位博主的内容学习的 https://blog.csdn.net/lutianfeiml/article/details/51781389
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页