`
mxx_1111
  • 浏览: 58752 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

mybatis反向生成实体类、dao层以及映射文件

 
阅读更多


在做项目的时候,我们不得不写底层的一些繁琐代码,比如说实体类、dao层之类的,既浪费时间又费事,最主要的是还没效率,kuangkuangkuang的写半天终于写完了,到运行的时候dao层的代码居然还报错!!这要闹哪样啊,Hibernate就给咱们提供了反向快速生成实体类以及映射文件和配置文件,程序员大部门的时间都放在了项目的业务上,这样更能高效率的开发!Hibernate的反向生成的具体我在这里也就不多说了,网上太多太多了,请大家自行查找,当然既然有反向那就有正向,于是,在不久的之前我写了一片博文就是关于hibernate正向生成数据库的全过程:

Hibernate多对多、正向工程创建数据表——访问温馨提示 欢迎大家进去交流学习!

nice,咱们现在不如正题,今天我们不说hibernate,也不讲Java,咱们具体讲一下Oracle+mybatis的反向生成,大家请往下看:

既然是反向生成,那么肯定不能少数据表,那现在就在oracle里面创建一个数据表:

create table dept (  
        deptno number(11),  
        dname varchar2 (150),  
        loc varchar2 (150)  
    );

创建完成,插入几条测试数据:

insert into DEPT (DEPTNO, DNAME, LOC)  
    values (90, '开发部1', '山西吕梁');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (12, 'myName', 'myLocation');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (91, '开发部2', '山西吕梁');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (72, 'bdqn', 'jinan');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (70, 'bdqn', 'jinan');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (10, 'ACCOUNTING', 'NEW YORK');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (20, 'RESEARCH', 'DALLAS');  
    insert into DEPT (DEPTNO, DNAME, LOC)  
    values (30, 'SALES', 'CHICAGO');   
    commit();  

插入完成!!!

现在数据表已经准备好了,就可以开始生成了!

1.先在E盘下面新建一个文件夹(其他盘也可以,没规定)


2.在完成1的前提下,请大家再去别的地方搞一个oracle的jar包和mybatis-generator-core-1.3.2.jar的jar包放在这个目录下面(放在根目录下面)

mybatis-generator-core-1.3.2.jar下载地址:这里


3.继续在这个刚刚创建的文件夹里面新建一个名为src的文件夹


4.接下来大家在新建一个.xml的文件,名字是generatorConfig.xml(名字尽量和我的一样)


5.接着我们写这个.xml文件里面的内容:

(1)头部自然不能少也不能错

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

(2)头部有了咱们就开始配置

先写根节点:<generatorConfiguration> </generatorConfiguration>
(3)有了根节点之后我们下面配置数据库(以oracle数据库为例):

<!-- oracle的jar包文件路径 -->
    <classPathEntry  location="ojdbc6.jar"/>  
    <context id="DB2Tables"  targetRuntime="MyBatis3">  
        <commentGenerator>
			<!-- 是否取消注释 -->
            <property name="suppressDate" value="true"/>  
            <!-- 是否生成注释代时间戳-->
            <property name="suppressAllComments" value="true"/>  
        </commentGenerator>  
<!-- 链接配置 --> 
 <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" userId="pro" password="pro"> 
 </jdbcConnection>
注意:上面的这一段一定要放在<generatorConfiguration> 节点里面

(4)继续配置类型之间的转换:

 <javaTypeResolver>
			<!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
            <property name="forceBigDecimals" value="false"/>  
        </javaTypeResolver>  
(5)配置生成的实体类,含包名、路径,cn.bdqn.mybatis 这个路径可以自动生成,但是你得要有必须有src这个路径,没有的话创建一个

 <javaModelGenerator targetPackage="cn.bdqn.mybatis" targetProject="src">
			<!-- 是否在当前路径下新加一层schema,eg:fase路径cn.bdqn.mybatis, true:cn.bdqn.mybatis.[schemaName] -->
            <property name="enableSubPackages" value="true"/>
			<!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
            <property name="trimStrings" value="false"/>  
        </javaModelGenerator>  

(6)生成xml文件的路径,这个路径可以自动生成,但是必须有src这个路径(没有的话创建一个)

  <sqlMapGenerator targetPackage="cn.bdqn.mybatis.dao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </sqlMapGenerator> 

(7)生成Dao类的路径,这个路径可以自动生成,但是必须有src这个路径(没有的话创建一个)


<javaClientGenerator type="XMLMAPPER" targetPackage="cn.bdqn.mybatis.dao" targetProject="src">  
            <property name="enableSubPackages" value="true"/>  
        </javaClientGenerator> 

(8)生成对应表及类名,你想生成几个咱就给你生成几个,听你的,前提是你得先告诉计算机你要生成几个!

table tableName="dept" domainObjectName="Dept" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

其中:tableName:表名

domainObjectName:实体类名

(9)结束掉,配置就OK了

</context>
</generatorConfiguration>

(10)配置是配置好了,怎么运行呢?两种:

第一:打开dos命令,定位到:e:mybatis目录下面之后,执行java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite 输入之后回车

第二:在你的当前目录下(不是src目录下),创建;一个.bat文件,里面内容是cmd.exe,运行这个.bat文件之后你会发现她自动打开了cmd,并且自动定位到了当期目录下面了,然后你输入:java -jar mybatis-generator-core-1.3.2.jar -configfile generatorConfig.xml -overwrite 按下回车,出现:


就证明,骚年,你成功了!

否则,出现:


证明你出错了,缺少mybatis-generator-core-1.3.2.jar文件,请下载放在当前目录下面

喜欢的点个赞,不喜欢的勿喷!评论区大神们评论区多多指教,咱们评论区见!!


分享到:
评论

相关推荐

    pandas-1.3.5-cp37-cp37m-macosx_10_9_x86_64.zip

    pandas whl安装包,对应各个python版本和系统(具体看资源名字),找准自己对应的下载即可! 下载后解压出来是已.whl为后缀的安装包,进入终端,直接pip install pandas-xxx.whl即可,非常方便。 再也不用担心pip联网下载网络超时,各种安装不成功的问题。

    基于java的大学生兼职信息系统答辩PPT.pptx

    基于java的大学生兼职信息系统答辩PPT.pptx

    基于java的乐校园二手书交易管理系统答辩PPT.pptx

    基于java的乐校园二手书交易管理系统答辩PPT.pptx

    tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl

    tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl

    Android Studio Ladybug(android-studio-2024.2.1.10-mac.zip.002)

    Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175

    基于ssm框架+mysql+jsp实现的监考安排与查询系统

    有学生和教师两种角色 登录和注册模块 考场信息模块 考试信息模块 点我收藏 功能 监考安排模块 考场类型模块 系统公告模块 个人中心模块: 1、修改个人信息,可以上传图片 2、我的收藏列表 账号管理模块 服务模块 eclipse或者idea 均可以运行 jdk1.8 apache-maven-3.6 mysql5.7及以上 tomcat 8.0及以上版本

    tornado-6.1b2-cp38-cp38-macosx_10_9_x86_64.whl

    tornado-6.1b2-cp38-cp38-macosx_10_9_x86_64.whl

    Android Studio Ladybug(android-studio-2024.2.1.10-mac.zip.001)

    Android Studio Ladybug 2024.2.1(android-studio-2024.2.1.10-mac.dmg)适用于macOS Intel系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用: part1: https://download.csdn.net/download/weixin_43800734/89954174 part2: https://download.csdn.net/download/weixin_43800734/89954175

    基于MATLAB车牌识别代码实现代码【含界面GUI】.zip

    matlab

    基于java的毕业生就业信息管理系统答辩PPT.pptx

    基于java的毕业生就业信息管理系统答辩PPT.pptx

    基于Web的毕业设计选题系统的设计与实现(springboot+vue+mysql+说明文档).zip

    随着高等教育的普及和毕业设计的日益重要,为了方便教师、学生和管理员进行毕业设计的选题和管理,我们开发了这款基于Web的毕业设计选题系统。 该系统主要包括教师管理、院系管理、学生管理等多个模块。在教师管理模块中,管理员可以新增、删除教师信息,并查看教师的详细资料,方便进行教师资源的分配和管理。院系管理模块则允许管理员对各个院系的信息进行管理和维护,确保信息的准确性和完整性。 学生管理模块是系统的核心之一,它提供了学生选题、任务书管理、开题报告管理、开题成绩管理等功能。学生可以在此模块中进行毕业设计的选题,并上传任务书和开题报告,管理员和教师则可以对学生的报告进行审阅和评分。 此外,系统还具备课题分类管理和课题信息管理功能,方便对毕业设计课题进行分类和归档,提高管理效率。在线留言功能则为学生、教师和管理员提供了一个交流互动的平台,可以就毕业设计相关问题进行讨论和解答。 整个系统设计简洁明了,操作便捷,大大提高了毕业设计的选题和管理效率,为高等教育的发展做出了积极贡献。

    机器学习(预测模型):2000年至2015年期间193个国家的预期寿命和相关健康因素的数据

    这个数据集来自世界卫生组织(WHO),包含了2000年至2015年期间193个国家的预期寿命和相关健康因素的数据。它提供了一个全面的视角,用于分析影响全球人口预期寿命的多种因素。数据集涵盖了从婴儿死亡率、GDP、BMI到免疫接种覆盖率等多个维度,为研究者提供了丰富的信息来探索和预测预期寿命。 该数据集的特点在于其跨国家的比较性,使得研究者能够识别出不同国家之间预期寿命的差异,并分析这些差异背后的原因。数据集包含22个特征列和2938行数据,涉及的变量被分为几个大类:免疫相关因素、死亡因素、经济因素和社会因素。这些数据不仅有助于了解全球健康趋势,还可以辅助制定公共卫生政策和社会福利计划。 数据集的处理包括对缺失值的处理、数据类型转换以及去重等步骤,以确保数据的准确性和可靠性。研究者可以使用这个数据集来探索如教育、健康习惯、生活方式等因素如何影响人们的寿命,以及不同国家的经济发展水平如何与预期寿命相关联。此外,数据集还可以用于预测模型的构建,通过回归分析等统计方法来预测预期寿命。 总的来说,这个数据集是研究全球健康和预期寿命变化的宝贵资源,它不仅提供了历史数据,还为未来的研究和政策制

    基于微信小程序的高校毕业论文管理系统小程序答辩PPT.pptx

    基于微信小程序的高校毕业论文管理系统小程序答辩PPT.pptx

    基于java的超市 Pos 收银管理系统答辩PPT.pptx

    基于java的超市 Pos 收银管理系统答辩PPT.pptx

    基于java的网上报名系统答辩PPT.pptx

    基于java的网上报名系统答辩PPT.pptx

    基于java的网上书城答辩PPT.pptx

    基于java的网上书城答辩PPT.pptx

    婚恋网站 SSM毕业设计 附带论文.zip

    婚恋网站 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B

    基于java的戒烟网站答辩PPT.pptx

    基于java的戒烟网站答辩PPT.pptx

    基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx

    基于微信小程序的“健康早知道”微信小程序答辩PPT.pptx

    机器学习(预测模型):自行车共享使用情况的数据集

    Capital Bikeshare 数据集是一个包含从2020年5月到2024年8月的自行车共享使用情况的数据集。这个数据集记录了华盛顿特区Capital Bikeshare项目中自行车的租赁模式,包括了骑行的持续时间、开始和结束日期时间、起始和结束站点、使用的自行车编号、用户类型(注册会员或临时用户)等信息。这些数据可以帮助分析和预测自行车共享系统的需求模式,以及了解用户行为和偏好。 数据集的特点包括: 时间范围:覆盖了四年多的时间,提供了长期的数据观察。 细节丰富:包含了每次骑行的详细信息,如日期、时间、天气条件、季节等,有助于深入分析。 用户分类:数据中区分了注册用户和临时用户,可以分析不同用户群体的使用习惯。 天气和季节因素:包含了天气情况和季节信息,可以研究这些因素对骑行需求的影响。 通过分析这个数据集,可以得出关于自行车共享使用模式的多种见解,比如一天中不同时间段的使用高峰、不同天气条件下的使用差异、季节性变化对骑行需求的影响等。这些信息对于城市规划者、交通管理者以及自行车共享服务提供商来说都是非常宝贵的,可以帮助他们优化服务、提高效率和满足用户需求。同时,这个数据集也

Global site tag (gtag.js) - Google Analytics