SSM框架——使用MyBatis Generator自动创建代码

本文详细介绍如何使用MyBatis生成器自动生成实体类、DAO接口及映射文件,通过配置generatorConfig.xml文件并执行脚本,实现快速开发。

 

       这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。

           使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可,把它们放在一个目录下面。

 

       生成代码需要的文件和jar包:

(上图文件下载地址:http://download.youkuaiyun.com/detail/u012909091/7206091

       其中有mybatis框架的jar包,数据库驱动程序jar包以及MyBatis生成器jar包。其中的generatorConfig.xml是需要我们来配置的文件,配置如下:

 

 

 
  1. <?xml version="1.0" encoding="UTF-8"?>

  2. <!DOCTYPE generatorConfiguration

  3. PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"

  4. "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">

  5. <generatorConfiguration>

  6. <!-- 数据库驱动-->

  7. <classPathEntry location="mysql-connector-java-5.1.25-bin.jar"/>

  8. <context id="DB2Tables" targetRuntime="MyBatis3">

  9. <commentGenerator>

  10. <property name="suppressDate" value="true"/>

  11. <!-- 是否去除自动生成的注释 true:是 : false:否 -->

  12. <property name="suppressAllComments" value="true"/>

  13. </commentGenerator>

  14. <!--数据库链接URL,用户名、密码 -->

  15. <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://125.221.1.1/db_124" userId="dem" password="dem">

  16. </jdbcConnection>

  17. <javaTypeResolver>

  18. <property name="forceBigDecimals" value="false"/>

  19. </javaTypeResolver>

  20. <!-- 生成模型的包名和位置-->

  21. <javaModelGenerator targetPackage="test.domain" targetProject="src">

  22. <property name="enableSubPackages" value="true"/>

  23. <property name="trimStrings" value="true"/>

  24. </javaModelGenerator>

  25. <!-- 生成映射文件的包名和位置-->

  26. <sqlMapGenerator targetPackage="test.mapping" targetProject="src">

  27. <property name="enableSubPackages" value="true"/>

  28. </sqlMapGenerator>

  29. <!-- 生成DAO的包名和位置-->

  30. <javaClientGenerator type="XMLMAPPER" targetPackage="test.IDao" targetProject="src">

  31. <property name="enableSubPackages" value="true"/>

  32. </javaClientGenerator>

  33. <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->

  34. <table tableName="user_info_t" domainObjectName="User" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

  35. </context>

  36. </generatorConfiguration>

 

 

       当以上这些完成之后,只需要打开控制台,进入lib目录下,执行脚本:

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

       即可。

      这样在生成之后,就可以在src目录下找到相应的文件夹,每个表格都会对应三个文件(实体类、接口、配置文件)。

 

1. 目录说明

使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件,只需要下几个jar包即可,把它们放在一个目录下面,如下图:

 

dir

 

  1. src文件夹:生成的资源文件的位置

  2. generationRun.bat:自动生成 脚本

  3. generatorConfig - 副本.xml:备份

  4. generatorConfig.xml:配置文件

  5. mybatis-3.2.6.jar:mybatis框架的jar包

  6. mybatis-generator-core-1.3.2.jar:MyBatis生成器jar包

  7. mysql-connector-java-5.1.30.jar:数据库驱动程序jar包

回到顶部

2. 配置文件

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE generatorConfiguration  
  PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"  
  "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">  
<generatorConfiguration>  
    <!-- 数据库驱动  (修改为自己的版本)-->   
    <classPathEntry  location="mysql-connector-java-5.1.30.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>  
            <property name="suppressDate" value="true"/>  
            <!-- 是否去除自动生成的注释 true:是 : false:否 -->
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>
        
        <!--数据库链接URL,用户名、密码 -->
        <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/dbname?characterEncoding=utf8" userId="username" password="password">  
        </jdbcConnection>

        
        <javaTypeResolver>  
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
        <!-- 生成模型的包名和位置-->
        <javaModelGenerator targetPackage="POJO" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
            <property name="trimStrings" value="true"/>  
        </javaModelGenerator>  
        <!-- 生成映射文件的包名和位置-->  
        <sqlMapGenerator targetPackage="Mapping" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator>  
        <!-- 生成DAO的包名和位置-->
        <javaClientGenerator type="XMLMAPPER" targetPackage="IDAO" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator>  
        
        
        <!-- 要生成的表: tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
        <table tableName="tableName" domainObjectName="ObjectName" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false">
        </table>   <!-- **-->
    </context>  
</generatorConfiguration>  

回到顶部

3. 执行脚本

  • 打开控制台,进入目录(我的:E:\bl-java\maven-server\MyBatis-generation-code),执行脚本:
    java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

 

run

 

  • 或者可以写了一个bat文件双击执行脚本来完成。

@echo off

::注释: 将这个脚本 复制到新建文本文件,文件后缀名 .bat 即可。

java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite

echo src目录下找到相应的文件夹,每个表格都会对应三个文件(实体类、接口、配置文件)

PAUSE

 

run bat

 

回到顶部

4.一个异常:XML Parser Errors occurred


XML Parser Errors occurred:

XML Parser Error on line 42: 元素类型为 "context" 的内容不完整, 它必须匹配 "(property*,plugin*,commentGenerator?,jdbcConnection,javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)"。

原因:generatorConfig.xml配置文件 标签对位置不对
解决:标签位置在子标签对最后一个(无table标签也会报错)

 

基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
先展示下效果 https://pan.quark.cn/s/a4b39357ea24 本项目是本人参加BAT等其他公司电话、现场面试之后总结出来的针对Java面试的知识点或真题,每个点或题目都是在面试中被问过的。 除开知识点,一定要准备好以下套路: 个人介绍,需要准备一个1分钟的介绍,包括学习经历、工作经历、项目经历、个人优势、一句话总结。 一定要自己背得滚瓜烂熟,张口就来 抽象概念,当面试官问你是如何理解多线程的时候,你要知道从定义、来源、实现、问题、优化、应用方面系统性地回答 项目强化,至少与知识点的比例是五五开,所以必须针对简历中的两个以上的项目,形成包括【架构和实现细节】,【正常流程和异常流程的处理】,【难点+坑+复盘优化】三位一体的组合拳 压力练习,面试的时候难免紧张,可能会严重影响发挥,通过平时多找机会参与交流分享,或找人做压力面试来改善 表达练习,表达能力非常影响在面试中的表现,能否简练地将答案告诉面试官,可以通过给自己讲解的方式刻意练习 重点针对,面试官会针对简历提问,所以请针对简历上写的所有技术点进行重点准备 Java基础 JVM原理 集合 多线程 IO 问题排查 Web框架、数据库 Spring MySQL Redis 通用基础 操作系统 网络通信协议 排序算法 常用设计模式 从URL到看到网页的过程 分布式 CAP理论 锁 事务 消息队列 协调器 ID生成方式 一致性hash 限流 微服务 微服务介绍 服务发现 API网关 服务容错保护 服务配置中心 算法 数组-快速排序-第k大个数 数组-对撞指针-最大蓄水 数组-滑动窗口-最小连续子数组 数组-归并排序-合并有序数组 数组-顺时针打印矩形 数组-24点游戏 链表-链表反转-链表相加 链表-...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值