zoukankan      html  css  js  c++  java
  • Mybatis(七) mybatis的逆向工程的配置详解

          还是觉得看书学习有意思~嘿嘿。今天把mybatis给结束掉。  

                      --WH

    一、什么是逆向工程?

          简单点说,就是通过数据库中的单表,自动生成java代码。

          Mybatis官方提供了逆向工程,可以针对单表自动生成mybatis代码(mapper.javamapper.xmlpo类)

          企业中,逆向工程是个很常用的工具,之前我们就学习了hibernate的逆向工程,比我们手动创建映射文件的配置信息方便很多,

    二、下载逆向工程

          jar包下载 

                

                

    三、创建java工程

          此步骤截图略,

    四、添加jar包

          逆向工程jar包,mybatis-generator-core-1.3.2.jar,每个人版本不一样,这里不一定就完全相同

          数据库驱动包,使用的是mysql

                

    五、创建核心代码

          点击进入jar包的docs目录下找到index.html来查询复制核心代码。

                  

          点击index.html进入

                  

          给出核心代码方便日后直接复制

     核心代码

    六、创建generatorConfig.xml配置文件

          根据上面的核心代码,仔细看一下不难发现,其运行需要加载一个generatorConfig.xml配置文件,在index.html中也有该配置文件的模版。

                    

          这个也比较清楚,下面有什么不懂的都有做出解释,但是我们不这样直接复制,我给出一份好的,有注释的,日后直接复制改点数据即可

                    

                    

          在我上面框出来的地方就是需要修改的地方,根据自己的实际情况来进行修改,并且这里的配置文件是将数据库中的user、orders、orderdetail、items这四张表进行逆向,配置文件中需要指定需要逆向生成的表的名称

     generatorConfig.xml

          注意核心代码中加载generatorConfig.xml的配置文件的位置需要写正确,根据你自己的存放位置进行相应的修改,并不是固定的。

    七、目录结构

          完成核心代码和其配置文件之后的工程就成这样了,然后直接运行核心代码就会自动帮我们从数据库中指定的表生成mybatis的mapper类。

                    

          运行Generator.java  

                    

          

          这里需要注意一个问题,点击运行之后,就已经帮我们生成好了对应的类,但是我们需要手动刷新项目才看得见,有些人就会觉得看不见,以为没有生效,然后又第二次运行核心代码,这里就会出现一个很严重的问题,[Mapper.xml文件已经存在时,如果进行重新生成则mapper.xml文件时,内容不被覆盖而是进行内容追加,结果导致mybatis解析失败]

          解决办法:删除生成的所有类和mapper.xml,重新在运行一遍即可。

        

          生成之后的目录

                    

          其他都不用说,说两个地方

            第一:mapper接口报错了,这里不用管,报的错的原因是缺少mybatis核心的jar包,和mapper接口中却用到了这些类,所以就会报错,

              解决:加入所需要jar包错误消失,但是我们不会这样做,因为这个项目就是用来生成mapper相关类的,加入jar包没什么用,多此一举,我们需要用的时候将其加入我们开发时的项目中,就不会在报错了。

            第二:生成的持久化对象中,多了一个xxxExample.java类,这个类是用来[构造复杂的筛选条件],通俗点讲就是[专门用来封装自定义查询条件],等会会介绍他的使用方法。

    八、测试

          将我们逆向工程所生成的mapper相关的类和接口等东西都加入到我们开发的项目中来,进来实验,这里就不过多陈述了,不会的话,就看前几章节的mybatis的构建和使用

          目录

                    

          这里我们将Items相关的类,都加入到与spring集成的项目中去,框起来的就是我们从逆向工程中获取到的。注意,逆向工程就是使用mapper方式进行开发,而不是dao方式

          测试,OrderMapperTest.java    

                    

     模糊查询,使用xxxExample

                                      

    九、总结

          这里就将mybatis的逆向工程给讲完了,一点都不难,一步步实现下去即可,关键是后的多的那个xxxExample类可能大家有一点不理解,下一篇文章会将其讲解清楚,详细介绍一下这个类。这一节就学会如何创建逆向工程即可。    

  • 相关阅读:
    LeetCode 382. Linked List Random Node
    LeetCode 398. Random Pick Index
    LeetCode 1002. Find Common Characters
    LeetCode 498. Diagonal Traverse
    LeetCode 825. Friends Of Appropriate Ages
    LeetCode 824. Goat Latin
    LeetCode 896. Monotonic Array
    LeetCode 987. Vertical Order Traversal of a Binary Tree
    LeetCode 689. Maximum Sum of 3 Non-Overlapping Subarrays
    LeetCode 636. Exclusive Time of Functions
  • 原文地址:https://www.cnblogs.com/shitaotao/p/7653287.html
Copyright © 2011-2022 走看看