麻烦各位大大,帮忙思考一下有什么方式能实现这样的需求。将 resultmap 、sql 存储到数据库中,然后每次可以动态配置和更新,然后根据这些动态存储的resultmap和sql查询数据和返回结果。这个别人是怎么实现的呢?我在别人的系统上看到了,但是摸不清头脑。

解决方案 »

  1.   

    参考
    https://blog.csdn.net/qiumuxia0921/article/details/51886346、
    http://www.mybatis.org/mybatis-3/zh/configuration.html
      

  2.   

    参考
    https://blog.csdn.net/qiumuxia0921/article/details/51886346
      

  3.   


    看了以后知道怎么动态配置数据源,但是查询resultmap和sql语句还是不知道怎么动态配置。。
      

  4.   


    看了以后知道怎么动态配置数据源,但是查询resultmap和sql语句还是不知道怎么动态配置。。

    再等等,看看有没有做过的高手吧。
      

  5.   

    貌似可以实现热加载,参考一下:
    http://thinkgem.iteye.com/blog/2304557
      

  6.   

    看起来是这几句话更新了xml。 
    //重新编译加载资源文件。  
                    XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(inputStream, configuration,   
                            resource, configuration.getSqlFragments());  
                    xmlMapperBuilder.parse();  
    我之后研究研究能不能从这个地方入手,加入存储在mysql中的xml。
      

  7.   

    看起来是这几句话更新了xml。 
    //重新编译加载资源文件。  
                    XMLMapperBuilder xmlMapperBuilder = new XMLMapperBuilder(inputStream, configuration,   
                            resource, configuration.getSqlFragments());  
                    xmlMapperBuilder.parse();  
    我之后研究研究能不能从这个地方入手,加入存储在mysql中的xml。
    恩,把拿来的数据做一个ByteArrayInputStream试试
      

  8.   

    除了报表功能,想不到有别的场景了
    其实没必要一直用mybatis的, 分场景使用不同框架,这个时候jdbc都比mybatis好使
      

  9.   

    直接$$,结果集一律HashMap。
      

  10.   

     个人感觉就是封装一层,根据参数动态生产sql;需要封装工具类