Mybatis Dynamic Query 前言

本文分享了一位开发者从.NET转战Java的经历,并详细介绍了在使用MyBatis过程中的心得与感悟,包括如何应对XML接口数量激增的问题,以及如何通过自定义动态查询框架来优化这一情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初入JAVA

  因为工作关系,开始接触JAVA(但心中一直割舍不下我大.net)。一开始选择持久化框架的时候,同事选的是Mybatis,开始我还闹情绪,感觉应该选hibernate,因为以前用EntityFramework 感觉还不错。关键是入JAVA不久,算了就用Mybatis 吧,也算是误打误撞才有了这个动态查询框架。

 

Mybatis 震撼

  如果说hibernate是全自动的,那么Mybatis 就是半自动。Mybatis 比 hibernate 更强的在于他对sql 的控制更加好,hibernate 这些ORM 生成的sql 在调优的时候比较麻烦,当然你们可以说使用hibernate 照样可以写sql,嗯是可以的,但是把一块 sql 写到了code 里面而且还是String 类型, 以后改个什么字段找半天(如果有不对,请大家指出)。

  Mybatis 有个专门的 xml 文件放sql 语句,这个其实很不错,至少不用去code 里面找 sql。 其实 Mybatis 是提供了一些根据条件生成对应的sql 比如<if> <foreach> 标签。

 

动态查询框架初衷

  在实际应用Mybatis 的时候,我们同样遇到了问题,就是xml 接口数量爆炸的情况,而且XML 代码量大了,也不是非常好维护,XML 也是一种没有强类型的语言。 嗯 这个就是我们的框架建立的最初目的。

  对了其实你们如果用过RIA service 就知道 FilterDescriptor 哈哈,确实借鉴了一下 参考: https://msdn.microsoft.com/en-us/library/system.windows.controls.filterdescriptor(v=vs.91).aspx

  更多动态框架前言,参考: https://wz2cool.gitbooks.io/mybatis-dynamic-query-zh-cn/content/

 

Mybatis Dynamic Query

 项目地址: https://github.com/wz2cool/mybatis-dynamic-query 

  Api 文档: https://wz2cool.gitbooks.io/mybatis-dynamic-query-zh-cn/content/

 

现在只是给大家介绍这个项目,其实在Api 文档已经有比较详细的用法, 后面也会再写些blog 说说具体用法,欢迎大家,觉得好的话请不要吝啬你的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值