栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis的逆向工程(原理+详细操作)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis的逆向工程(原理+详细操作)

逆向工程
  • 一、概念与机制
    • 1、概念
    • 2、基本原理
  • 二、操作
    • 1、配置POM
    • 2、MBG配置文件
    • 3、执行MBG插件的generate目标
    • 4、效果
  • 三、QBC查询
    • 1、 概念
    • 2、 例子

一、概念与机制 1、概念
  • 正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。

  • 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:
    Java实体类
    Mapper接口
    Mapper配置文件

2、基本原理

二、操作 1、配置POM

    
        org.mybatis
        mybatis
        3.5.7
    

    


        
    
    
        
        
        
            org.mybatis.generator
            mybatis-generator-maven-plugin
            1.3.0
    
            
            
                
                
                
                    org.mybatis.generator
                    mybatis-generator-core
                    1.3.2
                
                    
                
                
                    com.mchange
                    c3p0
                    0.9.2
                
                    
                
                
                    mysql
                    mysql-connector-java
                    5.1.8
                
            
        
    

2、MBG配置文件

文件名必须是:generatorConfig.xml


内容为:




    
    
        
        
        
        
        
            
            
        
        
        
            
        
        
        
            
        
        
        
        
        

注意:自己配置具体的信息,如数据库连接、包名、对应的表

3、执行MBG插件的generate目标

4、效果

三、QBC查询 1、 概念

QBC:Query By Criteria


QBC查询最大的特点就是将SQL语句中的WHERe子句进行了组件化的封装,让我们可以通过调用Criteria对象的方法自由的拼装查询条件。

2、 例子
public class QBCTest {

    private SqlSessionFactory factory;

    @Before
    public void init() throws IOException {

        factory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream("mybatis-config.xml"));

    }

    @Test
    public void test1(){
        // 1.创建EmployeeExample对象
        EmployeeExample example = new EmployeeExample();

        // 2.通过example对象创建Criteria对象
        EmployeeExample.Criteria criteria01 = example.createCriteria();

        //3.在criteria对象中封装查询条件
        criteria01.andEmpSalaryLessThan(1000.00)
                .andEmpNameLike("%o%");

        SqlSession session = factory.openSession();

        EmployeeMapper mapper = session.getMapper(EmployeeMapper.class);

        //4. 基于Criteria对象进行查询
        List employeeList = mapper.selectByExample(example);

        for (Employee employee : employeeList) {
            System.out.println("employee = " + employee);
        }

        session.close();

    }

}

最终效果:

Preparing: select emp_id, emp_name, emp_salary from t_emp WHERe (
emp_salary < ? and emp_name like ? )
[==> Parameters: 1000.0(Double), %o%(String)]

通过逆向工程以及QBC查询可以大大提高开发效率,动态组装我们需要的查询条件。

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号