MyBatis学习笔记(十二) —— MyBatis的逆向工程
迪丽瓦拉
2024-05-31 21:12:19
0

12、MyBatis的逆向工程

正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程的。

逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源:

  • Java实体类
  • Mapper接口
  • Mapper映射文件

12.1、创建逆向工程的步骤

12.1.1、添加依赖和插件


org.mybatismybatis3.5.7junitjunit4.12testlog4jlog4j1.2.17mysqlmysql-connector-java8.0.16


org.mybatis.generatormybatis-generator-maven-plugin1.3.0org.mybatis.generatormybatis-generator-core1.3.2mysqlmysql-connector-java8.0.16

12.1.2 创建MyBatis的核心配置文件

mybatis-config.xml

12.1.3 创建逆向工程的配置文件

文件名必须是:generatorConfig.xml



配置了一个插件,我们是通过插件生成一个逆向工程。

12.1.4、执行MBG插件的generate目标

构建

Maven -> 项目 —> Plugins -> mybatis-genertor -> mybatis-generator:generate

控制台看到 BUILD SUCCESS,就构建成功了。

img

观察项目目录,可以看到生成了mapper接口、实体类、mapper映射文件。

img

单表查询的时候可以提供帮助,复杂的SQL或者多表联查的时候不支持。

img

12.2、测试

测试代码:

package com.fan.mybatis.test;import com.fan.mybatis.mapper.EmpMapper;
import com.fan.mybatis.pojo.Emp;
import com.fan.mybatis.pojo.EmpExample;
import com.fan.mybatis.utils.SqlSessionUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;import java.util.List;/**
* @Date: 2023/03/09
* @Author: fan
* @Description:
*/
public class MBGTest {@Testpublic void testMBG(){SqlSession sqlSession = SqlSessionUtils.getSqlSession();EmpMapper mapper = sqlSession.getMapper(EmpMapper.class);根据id查询数据//Emp emp = mapper.selectByPrimaryKey(1);//System.out.println(emp);查询所有数据//List list = mapper.selectByExample(null);//list.forEach(System.out::println);根据条件查询数据//EmpExample example = new EmpExample();//example.createCriteria().andEmpNameEqualTo("张三").andAgeGreaterThanOrEqualTo(20);//example.or().andGenderEqualTo("男");//List emps = mapper.selectByExample(example);//emps.forEach(System.out::println);测试普通修改功能//Emp emp1 = new Emp(1,"小黑",null,"女");//mapper.updateByPrimaryKey(emp1);//选择性修改Emp emp2 = new Emp(1,"小黑",null,"女");mapper.updateByPrimaryKeySelective(emp2);}
}

相关内容