MyBatis逆向工程

MyBatis逆向工程

1.什么是mybatis逆向工程

在使用mybatis时需要程序员自己编写sql语句,针对单表的sql语句量是很大的,mybatis官方提供了一种根据数据库表生成mybatis执行代码的工具,这个工具就是一个逆向工程。
逆向工程:针对数据库单表—->生成代码(mapper.xml、mapper.java、pojo。。)

mybatis-generator-core-1.3.2.jar—逆向工程运行所需要的jar核心 包

2.配置逆向工程的配置文件

MyBatis逆向工程_第1张图片

配置文件generatorConfig.xml




<generatorConfiguration>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>
            
            <property name="suppressAllComments" value="true" />
        commentGenerator>
        
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
            password="123">
        jdbcConnection>
        

        
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        javaTypeResolver>

        
        <javaModelGenerator targetPackage="cn.zm.mybatis.po"
            targetProject=".\src">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>
        
        <sqlMapGenerator targetPackage="cn.zm.mybatis.mapper"
            targetProject=".\src">
            
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>
        
        <javaClientGenerator type="XMLMAPPER"
            targetPackage="cn.zm.mybatis.mapper"
            targetProject=".\src">
            
            <property name="enableSubPackages" value="false" />
        javaClientGenerator>
        
        <table tableName="items">table>
        
        

        
    context>
generatorConfiguration>

3.执行逆向工程生成代码

MyBatis逆向工程_第2张图片

执行java类方法:

MyBatis逆向工程_第3张图片

生成的代码如下:

MyBatis逆向工程_第4张图片

4.将生成的代码拷贝到业务系统工程中测试

public class ItemsMapperTest {

    private ApplicationContext applicationContext;
    private ItemsMapper itemsMapper;

    @Before
    public void setUp() throws Exception {
        applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
        itemsMapper = (ItemsMapper) applicationContext.getBean("itemsMapper");
    }

    //根本主键删除
    @Test
    public void deleteByPrimaryKey() {
        itemsMapper.deleteByPrimaryKey(4);
    }

    @Test
    public void insert() {
    }

    @Test
    public void selectByExample() {
        ItemsExample itemsExample = new ItemsExample();
        ItemsExample.Criteria criteria = itemsExample.createCriteria();
        //使用criteria自定义查询条件
        criteria.andNameEqualTo("水杯");
        criteria.andIdEqualTo(1);

        List list = itemsMapper.selectByExample(itemsExample);
        System.out.println(list);
    }

    @Test
    public void selectByPrimaryKey() {
        Items items = itemsMapper.selectByPrimaryKey(1);
        System.out.println(items);
    }

    @Test
    public void updateByPrimaryKey() {
    }
}

你可能感兴趣的:(mybatis,mybatis,逆向工程)