MyBatis学习笔记之逆向工程

文章目录

  • 逆向工程配置与生成
  • QBC查询风格

所谓的逆向工程是:根据数据库表逆向生成的Java的pojo类、SqlMapper.xml文件、以及mapper接口类等
要完成这个工作,需要借助别人写好的逆向工程插件。

虽然有点经典白学,但好像也没不白学


思考:使用这个插件的话,需要给这个插件配置哪些信息?

  • pojo类名、包名以及生成的位置。
  • SqlMapper.xml文件名以及生成的位置
  • Mapper接口名以及生成的位置
  • 连接数据库的信息
  • 指定哪些表

逆向工程配置与生成

pom.xml配置

   
    
    <build>
        
        <plugins>
            
            <plugin>
                
                <groupId>org.mybatis.generatorgroupId>
                <artifactId>mybatis-generator-maven-pluginartifactId>
                <version>1.4.1version>
                
                <configuration>
                    <overwrite>trueoverwrite>
                configuration>
                
                <dependencies>
                    
                    <dependency>
                        <groupId>mysqlgroupId>
                        <artifactId>mysql-connector-javaartifactId>
                        <version>8.0.30version>
                    dependency>
                dependencies>
            plugin>
        plugins>
    build>

配置generatorConfig.xml


DOCTYPE generatorConfiguration
        PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
        "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

<generatorConfiguration>
    
    
    
    <context id="DB2Tables" targetRuntime="MyBatis3">
        
        <plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin"/>
        <commentGenerator>
            
            <property name="suppressDate" value="true"/>
            
            <property name="suppressAllComments" value="true"/>
        commentGenerator>
        
        <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver"
                        connectionURL="jdbc:mysql://localhost:3306/demo"
                        userId="root"
                        password="root">
        jdbcConnection>
        
        <javaModelGenerator targetPackage="com.powernode.mybatis.pojo"
                            targetProject="src/main/java">
            
            <property name="enableSunPackages" value="true"/>
            
            <property name="trimStrings" value="true"/>
        javaModelGenerator>
        
        <sqlMapGenerator targetPackage="com.powernode.mybatis.mapper"
                         targetProject="src/main/resources">
            
            <property name="enableSubPackages" value="true"/>
        sqlMapGenerator>
        
        <javaClientGenerator
                type="xmlMapper"
                targetPackage="com.powernode.mybatis.mapper"
                targetProject="src/main/java">
            <property name="enableSubPackages" value="true"/>
        javaClientGenerator>
        
        <table tableName="t_car" domainObjectName="Car"/>
    context>
generatorConfiguration>

在配置完之后,只要老铁双击六六六就可以搭建起来了
MyBatis学习笔记之逆向工程_第1张图片

QBC查询风格

在成功创建之后会发现pojo里面有一个CarExample,这玩意是为了来封装的

QBC风格:Query By Criteria 一种查询方式,比较面向对象,看不到sql语句。

@Test
public void test(){
    SqlSession sqlSession = SqlSessionUtil.openSession();
    CarMapper mapper = sqlSession.getMapper(CarMapper.class);
    CarExample carExample = new CarExample();
    carExample.createCriteria().andBrandEqualTo("阿巴阿巴");
    carExample.or().andCarTypeEqualTo("燃油车");
    sqlSession.close();
}

你可能感兴趣的:(mybatis学习笔记,mybatis,学习,笔记)