论坛首页 Java企业应用论坛

利用SPRING JDBC 和模板框架实现SQL可配置

浏览 13137 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-12-23  
huoyj 写道
对你这个表示兴趣,你能不能把你的思想描述的详细一点.


模板框架可以解析和替换字符串,并且模板框架中有 If else 这样的判断条件,模板框架不会限制你的SQL配置存储方式(这是我喜欢的,我想把SQL配置放到数据库中)

1.用模板解析SQL配置

2.用JDBCtemplate执行

入参是Map<String,Object>, 查询返回结果List<Map<String,Object>>

相对于直接使用Map ,应该好维护一些吧
0 请登录后投票
   发表时间:2011-12-23  
前端时间也有过动态获取sql的想法,不过LZ这个思路很不错,赞一个!
0 请登录后投票
   发表时间:2011-12-23  
zhupan 写道
KimHo 写道
json20080301 写道
evanzzy 写道
严重不建议使用Map作为参数的传入传出工具

?? 有性能缺陷还是?

我这样做其实就把request里面的参数放到map中,作为查询条件传给要执行的SQL;我要实现的功能比较单一,
1.SQL可配置

2.只做查询,参数都是从request中提取到Map中,返回结果List<Map>即可,
List<Map>可转换化JSONArray ;


弱类型降低了代码的可读性(语义不清晰)和维护性

+1,在下深有体会,除非你为每一个交易配置一个文件标识Map中存放内容,并进行一定校验

不好意思,理解错了,你这种情况必须用Map,因为具体的参数名称是配置在SQl模板中的。
0 请登录后投票
   发表时间:2011-12-23  
我也在造同样的轮子 已经完成了一部分
有部分代码也是参考mybatis的
我想写成通用的 可以使用多种模版语言

你的sql语句是怎么管理的? 简单的map集中管理起来?
还是?
0 请登录后投票
   发表时间:2011-12-23  
strivezsh 写道
我也在造同样的轮子 已经完成了一部分
有部分代码也是参考mybatis的
我想写成通用的 可以使用多种模版语言

你的sql语句是怎么管理的? 简单的map集中管理起来?
还是?

功能很单一,所以代码也不复杂,下下来自己看看就知道啦
0 请登录后投票
   发表时间:2011-12-23  
zhupan 写道
zhupan 写道
KimHo 写道
json20080301 写道
evanzzy 写道
严重不建议使用Map作为参数的传入传出工具

?? 有性能缺陷还是?

我这样做其实就把request里面的参数放到map中,作为查询条件传给要执行的SQL;我要实现的功能比较单一,
1.SQL可配置

2.只做查询,参数都是从request中提取到Map中,返回结果List<Map>即可,
List<Map>可转换化JSONArray ;


弱类型降低了代码的可读性(语义不清晰)和维护性

+1,在下深有体会,除非你为每一个交易配置一个文件标识Map中存放内容,并进行一定校验

不好意思,理解错了,你这种情况必须用Map,因为具体的参数名称是配置在SQl模板中的。

我的思路跟你的差不多

不过我是直接写了个struts2的 参数转换器 转换成jsonobject 请求过来就是json 查询参数也是Json  然后查询返回还是Json 直接把列名做为key 列值作为value 封装了spring jdbc 用起来很方便
整个项目就没有实体一说 数据载体全是json
唯一遗憾的就是 sql语句 写到类里面了
前端时间一直在干跟你同样的事
0 请登录后投票
   发表时间:2011-12-23  
json20080301 写道
strivezsh 写道
我也在造同样的轮子 已经完成了一部分
有部分代码也是参考mybatis的
我想写成通用的 可以使用多种模版语言

你的sql语句是怎么管理的? 简单的map集中管理起来?
还是?

功能很单一,所以代码也不复杂,下下来自己看看就知道啦

sql语句 写到类里面了,会给维护带来很大问题;
0 请登录后投票
   发表时间:2011-12-23  
我还见过一个人 是使用 spring把sql文件 注入到dao里面 这个思路也不错。。。
0 请登录后投票
   发表时间:2011-12-23  
可以考虑不用字符串拼接sql,而是使用java来构造类型安全的语句,可以参考QueryDSL:http://www.querydsl.com,其实spring-data这个项目就是为了构造统一的数据访问接口,可以参考学习,觉得思路不错,可以研究下
0 请登录后投票
   发表时间:2011-12-23  
clongjava 写道
可以考虑不用字符串拼接sql,而是使用java来构造类型安全的语句,可以参考QueryDSL:http://www.querydsl.com,其实spring-data这个项目就是为了构造统一的数据访问接口,可以参考学习,觉得思路不错,可以研究下

spring-data值得研究,可以替换HIBERNATE ;

不过我写这个的目的,不是为了实现ORM;

我的目的是为了分离SQL,做报表用的;目的不同,所以实现不一样;

根据项目需要来选择框架才是正确思路;


0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics