关于Mybatis中执行纯sql,sql中有多个表的问题

王者_来归 2015-03-17 04:44:01
如题,mybatis执行纯sql,如果sql中只有一个表,是没有问题的,但是,如果sql中有多个表,而且这个表个数又是不确定(可能会经常改动,这个sql保存在配置文件中,会经常维护),Mapper和怎么样设计?
我的想法:
建一个通用的接口类,执行这个纯sql的执行,返回一个HashMap,但是经过测试,Mybatis去执行的时候,会去检查接口中的model和sql中涉及到的实体(表),当发现不一致时,就抛异常。

另外有一个最笨的办法,就是把所有表中的字段,形成一个大的pojo,这样可以解决问题,但是这是最笨的办法,也是最不灵活的。

各位,遇到这样的问题,大家如何做?
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
枫醉秋 2015-03-20
  • 打赏
  • 举报
回复
其实更简单的办法,不要利用mybatis的预处理执行,利用statementType=“statement”这个参数,可以动态传递表名,取值方式${''},可以参考一下
y422916431 2015-03-20
  • 打赏
  • 举报
回复
王者_来归 2015-03-20
  • 打赏
  • 举报
回复
有谁回复一下?我就结贴了,问题我已经基本解决了!
A-wolf 2015-03-20
  • 打赏
  • 举报
回复
mybatis 不是可以使用参数传递么 像你说的表数如果有变动,肯定就有一定的条件 可以使用if 判断拼接sql 如果 是新添加的表 那sql 肯定要对应添加啊 实体配置都要添加才对啊
siyu523243781 2015-03-20
  • 打赏
  • 举报
回复
用Spring的 jdbctemplate

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧