Mybatis 逆向工程配置文件

一、工程结构以及所需要的jar包    

                        

bean中存放一些辅助功能的java类

config中存放工程有关的配置文件

mapper中存放mybatis自动生成的数据表的隐射以及接口

pojo中存放数据表对应的对象类

test中存放对接口的测试类

 

Mybatis 逆向工程配置文件_第1张图片

二、逆向工程相关文件

           逆向工程mybatis框架搭建好的情况下进行的,如果你的框架还没有搭好,参考mybatis框架详解配置,如果配置好了则需要导入mybatis-generator的jar包,都完成好了之后,只要再写两个文件就能进行逆向了,首先是GeneratorConfig.xml

  • GeneratorConfig.xml是用来说明规范数据库中的表生成的mapper映射文件和接口方法的,具体如下



    
        
            
            
        

        
        
        

        
        
            
        

        
        
            
            
            
            
        

        
        
            
        

        
        
            
        

        
        
  • MyGenerator.java逆向工程的执行类
package bean;
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 MyGenerator {
    public void generate() throws Exception{
        List warnings = new ArrayList();
        boolean overwrite = true;
        //指定逆向工程配置文件
        File configFile = new File("C:\\Users\\mi\\IdeaProjects\\mybatis\\src\\Config\\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 {
            MyGenerator myGenerator = new MyGenerator();
            myGenerator.generate();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

三、执行生成类之后多出的东西

Mybatis 逆向工程配置文件_第2张图片

四、测试生成的接口

     编写测试类testmapper,具体如下

package test;
import mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;
import pojo.User;

import java.io.InputStream;

public class TestMapper {
    private SqlSessionFactory sqlSessionFactory;
    @Before
    public void setup() throws Exception{
        String resource = "Config/SqlmapConfig.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    }
    @Test
    public void Test() throws Exception {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper userMapper = sqlSession.getMapper(mapper.UserMapper.class);
        User user = userMapper.selectByPrimaryKey(1);
        System.out.print(user.getUsername());
    }

}

执行后,如果返回数据库中id=1的对象的信息则成功

你可能感兴趣的:(ssm框架)