附03 Mybatis的逆向工程生成实体类与sql

Mybatis的逆向工程生成实体类与sql的映射文件

在创建JavaBean的时候,我们需要与数据库表的字段设计相互对应,自己写起来太费时间,也比较麻烦,所以我们可以使用mybatis的插件,来自动的帮助我们创建实体类,mapper,以及对应mapper的xml文件。So,我们开始吧!

一 工具的使用

1 首先,我们需要在pom.xml中导入对应的插件包;复制如下代码到plugins标签下面:

  
            <plugin>
                <groupId>org.mybatis.generatorgroupId>
                <artifactId>mybatis-generator-maven-pluginartifactId>
                <version>1.3.2version>
                <configuration>
                    <verbose>trueverbose>
                    <overwrite>trueoverwrite>
                configuration>
                 <dependencies>
                    <dependency>
                        <groupId>mysqlgroupId>
                        <artifactId>mysql-connector-javaartifactId>
                        <version>5.1.35version>
                    dependency>
                dependencies>
            plugin>

2 导入后,下载完毕,点击右侧的maven选项下的plugins下的如图的选项,出现如下图的选项即说明导入成功了;
附03 Mybatis的逆向工程生成实体类与sql_第1张图片

3 然后,在resources源文件目录下面新建一个generatorConfig.xml文件,复制如下代码(需要修改的地方看注释):




<generatorConfiguration>
    <context id="testTables" targetRuntime="MyBatis3">
        <commentGenerator>

            <property name="suppressAllComments" value="true" />
        commentGenerator>

        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                        connectionURL="jdbc:mysql://127.0.0.1:3306/film"
                        userId="账号"
                        password="密码">
        jdbcConnection>
       
 
        <javaTypeResolver>
            <property name="forceBigDecimals" value="false" />
        javaTypeResolver>

        
        <javaModelGenerator targetPackage="Start.lpy.pojo"
                            targetProject="src/main/java">
            
            <property name="enableSubPackages" value="false" />
            
            <property name="trimStrings" value="true" />
        javaModelGenerator>


        
        <sqlMapGenerator targetPackage="mapper"
                         targetProject="src/main/resources">
            
            <property name="enableSubPackages" value="false" />
        sqlMapGenerator>

        
        <javaClientGenerator type="XMLMAPPER"
                             targetPackage="Start.lpy.Mapper"
                             targetProject="src/main/java">
            
            <property name="enableSubPackages" value="false" />
        javaClientGenerator>
        
        
        <table tableName="数据库的表名1"/>
        <table tableName="数据库的表名2"/>


    context>
generatorConfiguration>

4 当将数据库信息配置完成之后,在双击第二步的mybatis-generator工具即可生成成功,成功生成的文件有test.java,testExample.java,TestMapper.java,TestMapper.xml这几个文件。

附03 Mybatis的逆向工程生成实体类与sql_第2张图片

二 生成文件的作用

1 实体类中会生成2个java类:test.java与testExample.java

test.java中包括:属性(数据库中对应的字段),Get与Set方法;

testExample.java, 这个类是专门用来做单表查询的类,对单表(test表)的CURD操作是脱离sql性质的(已经通过逆向工程生成相应的sql),可以直接在service层就可以完成相应操作。

2 映射类与映射文件

testmapper.java是一个接口,里面定义了单表查询的基本的方法,

testmapper.xml是mybatis的sql语句文件,里面包含了与testmapper.java中的基本的sql的单表查询的语句。

具体如何使用参考这位大佬的博客:https://blog.csdn.net/thedarkclouds/article/details/82384606

.java中的基本的sql的单表查询的语句。

3 xxxExample类的具体使用

这个类简单来说就是一个工具类,example即例子,就是说——创建了一个模板,对这个模板进行修改,修改成自己需要的样子,在进行调用即可。

//按照主键查询  相当于select * from test where testid = 1 
    @Override
    public List<Test> listByPK() {
     
        Test test=  testMapper.selectByPrimaryKey(1);
        List<Test> list=new ArrayList<>();
        list.add(test);
        return list;
    }
    //按照条件进行查询 相当于select * from test where name = 'c' order by name asc 
    @Override
    public List<Test> listByCluse() {
     
        TestExample testExample=new TestExample();	//实例化
        TestExample.Criteria criteria = testExample.createCriteria();//创建条件对象
        criteria.andNameEqualTo("c");//设置条件
        testExample.setOrderByClause("name asc");//设置条件
        //将实例化的创建好条件的对象传入,用它的条件来进行约束;我就是这么理解的
        List<Test> testList=testMapper.selectByExample(testExample);
        return testList;
    }

具体如何使用参考这位大佬的博客:使用example来完成简单的单表查询

你可能感兴趣的:(指南-配置-教程,mybatis,generator)