用hibernate用得多了,忽然怀念起自己直接写sql 的轻巧类库了。
开源的类库中,需要写sql常用的有spring jdbc ,apache的dbutil , MyBatis。看过MyBatis文档,写过demo, 相对于hibernate这个强大的ORM工具,MyBatis可控性更好,然而今天它不主角,今天的主角是spring jdbc.
spring jdbc 当我一接触到的时候,从此深深爱上了这个小巧的家伙:简单而优雅的API,配上spring本身的声名式事务!这就是一把小巧的神器!
然而随着我深入的了解,让我不爽的是SQL语句写在JAVA代码中,想要动态SQL自己拼字符串吧!
但是这又有什么的?我把SQL语句放在外部文件,然后把它读出来就行了。
有这想法第一步想到的是:
利用Spring注入功能,把SQL注入到bean中去,但是想想又不合适,不喜欢用xml方式配置spring bean ,如果每个 bean都注入几条SQL,不是所有要用SQL的bean都要写在xml文件吗?
这个办法不是一个优雅的解决办法,那创建一个类,利用spring注入功能,将相关的值注入到map属性中,尝试了一下,所有的sql都丢到一个文件多不优雅!还是自己动手来读吧,dom4j读xml很简单,上代码:
public class SQLBuilder {
private static Logger logger = LoggerFactory.getLogger(SQLBuilder.class);
private

博主分享了自己对Spring JDBC的喜爱,但对其SQL语句硬编码在代码中的不便感到不满。为了解决这一问题,博主提出将SQL语句存储在外部文件,并利用Velocity模板技术生成动态SQL。通过自定义SQLBuilder类,结合DOM4J读取XML文件,实现了优雅地读取和管理SQL。建议创建单例的SQLBuilder以减少IO消耗。
最低0.47元/天 解锁文章
1152

被折叠的 条评论
为什么被折叠?



