• 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类可能大家有一点不理解,下一篇文章会将其讲解清楚,详细介绍一下这个类。这一节就学会如何创建逆向工程即可。    

  • 相关阅读:
    SQL80001: Incorrect syntax near ':'
    Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
    log4net 日志配置及使用
    在C#中将String转换成Enum:
    未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序解决办法
    五大编程算法
    CodeSmith 使用说明
    PowerDesigner使用教程
    一个七年程序员的经验
    未能正确加载包“Microsoft.Data.Entity.Design.Package.MicrosoftDataEntityDesignPackage
  • 原文地址:https://www.cnblogs.com/shitaotao/p/7653287.html
Copyright © 2020-2023  润新知