Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层

什么是逆向工程

Mybatis需要程序员自己编写SQL语句,mybatis官网提供逆向工程,可以针对单表自动生成mybatis执行所有需要代码(mapper.java,mapper.xml,po)

企业实际开发中,常用的逆向工程方式:

         数据库表来生产Java代码,

         企业开发中,是先对数据库进行设计,也就是编码之前数据库已经有了。

实现步骤如下:

首先:建立一个Maven项目

目录结构如下:

Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层_第1张图片

先进行配置pom.xml



    4.0.0

    hyx.revorse
    revorse-project
    1.0-SNAPSHOT



    
        UTF-8
        4.12
        3.4.4
        5.1.34
        1.2.17
        1.2.35
        1.7.25
    

    
        
        
            org.mybatis
            mybatis
            ${mybatis.version}
        
        
        
            mysql
            mysql-connector-java
            ${mysql.version}
        

        
        
            log4j
            log4j
            ${log4j.version}
        

        
        
            com.alibaba
            fastjson
            ${fastjson.version}
        


        
            org.slf4j
            slf4j-api
            ${slf4j.version}
        

        
            org.slf4j
            slf4j-log4j12
            ${slf4j.version}
        

        
        
            junit
            junit
            RELEASE
            compile
        
        
            junit
            junit
            RELEASE
            compile
        
    

    
        
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.5
                
                    true
                    true
                
            
        
        
            
                src/main/java
                
                    **/*.xml
                
            
        
    

建立generatorConfig.xml配置文件





    
    

    
        
        
            
            
        

        
        
        

        
            
        

        
        
            
            
        

        
        
            
        

        
        
            
        

        
        

开始生成实体类与DAO层

Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层_第2张图片

生成成功如下图所示,查看Mapper.interface接口可以看到很多增删改查的方法

Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层_第3张图片

Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层_第4张图片

开始测试:.

Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层_第5张图片

先进行配置sqlMapconfig.xml





    
        
        
    

    
        
    

    
        
            
            
                
                
                
                
            
        
    

    
        
        
    

配置日志输出配置文件

# Global logging configuration
#在开发环境下日志级别设置为debug,生产环境下设置成info或error
log4j.rootLogger=debug, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

测试代码:

package com.hd.test;

import com.hd.mapper.UserMapper;
import com.hd.po.User;
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 java.io.IOException;
import java.io.InputStream;


public class Demo01 {
    private SqlSessionFactory sqlSessionFactory;

    @Before
    public void fun0() throws IOException {

        InputStream inputStream = Resources.getResourceAsStream( "sqlMapconfig.xml" );
        //通过配置创建会话工厂
        sqlSessionFactory = new SqlSessionFactoryBuilder().build( inputStream );

    }

    @Test
    public void fun1(){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.selectByPrimaryKey(1);

        System.out.println(user);
    }
}

输出结果,User类没有toString方法,所以输出时是一个对象

Mybatis逆向工程实现自动生成Mapper(DAO)层与POJO(Entity,Bean)层_第6张图片

新手还是要多去练习如何写相应Mapper.interface接口中在Mapper.xml文件中实现的方法

你可能感兴趣的:(Mybatis)