mybatis 通用CRUD的替换方法

    http://git.oschina.net/alexgaoyh/MutiModule-parent    

代码此次变更较大,使用了mybatis-generator-maven-plugin 插件,把之前多模块项目中的domain部分删除,将这一部分代码整合到persise部分,原因是使用mybatis-generator-maven-plugin插件的时候,能够自动生成实体类,减少代码移动相关的工作量。(数据库逆向代码生成工具)


    前一段时间使用maven多模块项目整合了spring mybatis部分,最近在处理通用CRUD方法的时候,遇到了一系列问题,特写文章记录一下:

    网络上有很多通用CRUD方法的解决方案,增加DAO接口部分,动态拼接sql……,本文并不对这些方法做过多的介绍。

    之前用过一段hibernate(强类型的ORM),最近再转入mybatis的时候,发现mybatis可以理解为半ORM,通过xml书写sql来满足业务需求,如果想使用通用的CRUD方法的话,很多解决方案注入性太强了,所以找了好久,觉得使用 mybatis-generator-maven-plugin 能够很好地替代这种解决方案:

    1: 不改变mybatis的特点(接口,sql写到xml内部),新手拿到项目之后,能够很快上手;

    2: 简单的单表CRUD也能够实现;

    3: 减少代码量的书写,及时是自己编写了通用方法(泛型),也是需要自己编写相关的代码,继承相关的接口才能实现的,使用generator的话,能够大批量的减少代码书写;


    所以,最终选择了mybatis-generator-maven-plugin 来实现简单的单表CRUD方法。

    实现的话,最主要的代码分为如下两个部分:

    

<plugin>
				<groupId>org.mybatis.generator</groupId>
				<artifactId>mybatis-generator-maven-plugin</artifactId>
				<version>1.3.2</version>
				<configuration>
				    <verbose>true</verbose>
				    <overwrite>true</overwrite>
				</configuration>
			</plugin>



    

/src/main/resource 下创建 generatorConfig.xml文件:

注意修改一些数据库方法的配置,这样,在数据库里面生成相关的表结构之后,通过下面的配置,来映射相关的类文件/xml文件;

<?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="C:\Users\lenovo\.m2\repository\mysql\mysql-connector-java\5.1.21\mysql-connector-java-5.1.21.jar" />
    
	<context id="context1" targetRuntime="MyBatis3">
        <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://127.0.0.1:3306/mybatisTest?useUnicode=true&amp;characterEncoding=UTF-8"
            userId="root" password="alexgaoyh" />
            
        <javaModelGenerator targetPackage="com.alexgaoyh.MutiModule.persist.demo" targetProject="F:\eclipseWorkspace\MutiModule-parent\MutiModule-persist\src\main\java" />
        
        <sqlMapGenerator targetPackage="com.alexgaoyh.MutiModule.persist.demo" targetProject="F:\eclipseWorkspace\MutiModule-parent\MutiModule-persist\src\main\resources" />
        
        <javaClientGenerator targetPackage="com.alexgaoyh.MutiModule.persist.demo" targetProject="F:\eclipseWorkspace\MutiModule-parent\MutiModule-persist\src\main\java" type="XMLMAPPER" />
        
        <table schema="" tableName="demo" />
        
    </context>
	    
</generatorConfiguration>
<!-- 每次修改的部分为替换  targetPackage tableName 部分,对应数据库不同的表结构,不同的包名,自动映射出来相关的类文件-->



1: 数据库生成相关的表结构(表面demo)

2:Eclipse使用maven,项目右键,run as  执行 (mybatis-generator:generate) 如下图:




执行完毕之后,刷新项目:

红框标注的就是自动生成的相关文件: 其中这些文件能够很简单的满足单表CRUD的需求,也不用学习新的代码,简单容易,易上手。


具体在使用过程中,尽量记录下来每次修改xml部分的地方(如上图的 DemoMapper.xml 部分),这样,如果修改量少的话,表结构发生变更的话,直接重新生成相关的类文件/配置文件 即可。 避免mybatis这种,修改表结构之后(Demo.java DemoExample.java DemoMapper.xml ),很多文件都需要更改的情况(ORM)。


转载于:https://my.oschina.net/alexgaoyh/blog/405003

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你想将 MyBatis 修改为 MyBatis Plus,这是一个很好的选择!MyBatis Plus 是在 MyBatis 的基础上进行扩展的一个框架,提供了更加强大和便捷的功能。 要将项目中的 MyBatis 替换MyBatis Plus,你可以按照以下步骤进行操作: 1. 引入 MyBatis Plus 的依赖:在你的项目中,找到当前使用的 MyBatis 依赖并将其替换MyBatis Plus 的依赖。你可以去 MyBatis Plus 的官方网站或 Maven 仓库查找最新的版本号,并在你的项目中更新相应的依赖。 2. 修改配置文件:根据 MyBatis Plus 的配置需求,对你的配置文件进行相应的修改。主要包括修改数据源配置、mapper 扫描配置、以及其他自定义配置等。你可以参考 MyBatis Plus 的官方文档来了解具体的配置细节。 3. 替换代码:MyBatis Plus 提供了许多可以简化开发的功能,比如自动生成代码、通用 CRUD 操作等。你可以根据需要,逐步替换原来使用 MyBatis 的代码为 MyBatis Plus 提供的对应功能的代码。 4. 测试和调试:替换完成后,进行测试和调试,确保项目正常运行,并验证新功能是否按预期工作。 需要注意的是,MyBatis Plus 并不是 MyBatis 的子项目,而是一个独立的框架,因此在替换过程中需要小心处理。同时,你也可以根据具体的需求和项目情况,选择是否引入 MyBatis Plus 的各个模块,以及根据需要进行相关的配置和定制。祝你成功地将 MyBatis 修改为 MyBatis Plus!如果你有任何其他问题,欢迎继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值