2 qq 16660047 qq_16660047 于 2016.04.29 22:13 提问

Mybatis不能重用sql问题

今天该了一天的代码,都快该哭了,因为什么都没改出来,网上有一个很好的例子,说是可以通过拦截器实现通用DAO接口,结果代码不全,最终不得不放弃。
其实我就是觉得Mybaties不如hibernate方便,sql不能重复使用,只能给一个类使用,然而大部分工作都是增删改查这些重复性的工作,可是每增加一个类,就要重新写一遍相似的代码,这样是不是很费劲啊??我都快疯了。。。不知道哪位大神有没有好的方法,最好是能实现的,源码最好。

3个回答

zmcmm
zmcmm   2016.04.29 22:36
已采纳

一可以用mybatis-generator生成语句,就不用每个都写。二可以通过mybatis插件来实现通用crud,这种插件已经有不少开源的了

CSDNXIAOD
CSDNXIAOD   2016.04.29 22:22

mybatis sql 映射文件问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

u014427391
u014427391   2016.05.01 00:35
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
MyBatis数据持久化 SQL复用(可重用的 SQL 代码段)
1、修改pom.xml,升级MyBatis版本升级到3.3.0以上版本 2、刷新maven(两种方式) A. 命令方式 在terminal窗口输入:mvn clean install -Dmaven.test.skip=true小注: clean 移除所有上一次构建生成的文件 install 将包安装至本地仓库,以让其它项目依赖 maven.test.skip
MyBatis数据持久化(八)sql复用
在mybatis中,我们可以將sql语句中公共的部分提取出来,然后需要该段sql的地方通过include标签引入即可,这样可以达到sql语句复用的目的。 例如我们有两条相似的查询语句:<select id="queryUserInfoByName" parameterType="string" resultType="user"> select * from User where
MyBatis学习笔记(二)优化MyBatis配置,解耦合,提高复用性
优化MyBatis配置
mybatis SQL语句复用
mybatis SQL语句复用mapper.xml 中共用mapper.xml 间共用项目中也许我们会遇到一段sql语句被多个查询、增加等语句用到的情况,如何去偷懒呢,复用sql无疑是较好的选择这里只提供简单的示范:如果只是单表查询,并且希望共用的sql只会出现在同一个mapper.xml文件中,那么我们可以直接在<mapper namespace="XXXXX"></mapper>中写下面的业务代
第一章(3)——执行计划重用
对于服务器来说,所有查询处理都产生出执行计划是非常昂贵的开销,即使SQLServer可以在数毫秒内完成,所以SQLServer会在任何时候尽可能保留并重用计划以便全面降低开销。当执行计划被产生出来后,会存放在一个叫做计划缓存的内存块中。当我们提交一个查询到服务器时,algebrizer过程就会创建一个hash,类似于一个对于查询的编码签名。这个hash是唯一的,昵称为查询指纹(query fing
如何通过include标签重用mybatis的代码段
1、首先定义一个sql标签,一定要定义唯一idname,age 2、然后通过id引用 select from student 这个会自动把上面的代码贴过来。 例子:    ID                     as  id,  SPARTICIPANTBANKNO as sParticipantBankNO,  SPARTICIPANT
mybatis可重用方案
本示例支持动态字段查询,动态条件查询,支持in等操作,反正简单的重复的事情都帮你做了,直接写好service接口就OK了(建议条件字段等都在service中定义) 网上各种从java类里面实现重用,我也是有点蒙... 个人不太喜欢,还是喜欢玩配置文件的重用... 找了半天没找到mybatis怎么继承配置文件(第一次用mybatis),还望知道的兄弟告知... 看了下官方文档,于是有了以下重
Mybatis之sql元素
sql 这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中。它可以被静态地(在加载参数) 参数化. 不同的属性值通过包含的实例变化. 比如:  ${alias}.id,${alias}.username,${alias}.password 这个 SQL 片段可以被包含在其他语句中,例如: select , from some_table
SQL中N+1问题已经MyBaits中的解决方案
概括地讲,N+1 查询问题可以是这样引起的: 你执行了一个单独的 SQL 语句来获取结果列表(就是“+1”)。 对返回的每条记录,你执行了一个查询语句来为每个加载细节(就是“N”)。 这个问题会导致成百上千的 SQL 语句被执行。这通常不是期望的。  如果当SQL数据库中select语句数目过多,就会影响数据库的性能,如果需要查询n个Customer对象,那么必须执行n+1次sele
mybatis 分号问题 , 多语句执行
需要连接mysql 开启mysql的多句sql 执行配置