资讯专栏INFORMATION COLUMN

在 Java 中如何更高效地存储和管理 SQL 语句?

邹立鹏 / 3460人阅读

摘要:编者按还在为管理代码中的语句而烦恼吗让帮你摆脱困境吧本文系工程师编译整理注意使用其实会更简单如果使用的是普通的没有任何外部类库的,那么就必须得自己去管理语句。同时,这也使得维护和测试尝试从代码中一条语句到客户端运行更加困难。

【编者按】还在为管理 Java 代码中的 SQL 语句而烦恼吗?让 Zemian 帮你摆脱困境吧!本文系 OneAPM 工程师编译整理

**注意:**使用java.util.Properties#loadFromXML其实会更简单!

如果使用的是普通的、没有任何外部类库的 Java JDBC,那么就必须得自己去管理 SQL 语句。很不幸的是,Java String 并不支持多行结构,所以开发者必须使用许多引号+连接符来拼接语句,这会使得 SQL 语句非常难于阅读和管理。同时,这也使得维护和测试(尝试从 Java 代码中 Copy 一条 SQL 语句到 SQL 客户端运行)更加困难。如果能保证整条 SQL 语句完好无缺,又避免了 Java 的干扰,那该有多好啊!

这里有个快速解决方案,把 SQL 查询语句存储在 XML 的 CDATA 里面:



    
        
            getUser
            
        
        
            getSpecialCodeByUserId
            
          

如果现在再去读 SQL 语句,开发者可以利用内建的 JAXB。

import javax.xml.bind.annotation.XmlRootElement;
import java.util.HashMap;
import java.util.Map;
@XmlRootElement
public class SqlMap {
    Map sqls = new HashMap<>();
    public Map getSqls() {
        return sqls;
    }
    public void setSqls(Map sqls) {
        this.sqls = sqls;
    }
    public String getSql(String name) {
        return sqls.get(name);
    }
    public static SqlMap load(String name) throws Exception {
        String xml = Utils.loadString(name);
        SqlMap sqlMap = unmarshallXML(xml );
        return sqlMap;
    }
}

**原文链接:**How to Store and Manage SQL Statements More Effectively With Java

本文系 OneAPM 工程师编译整理。想阅读更多技术文章,请访问 OneAPM 官方博客。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/64429.html

相关文章

  • JPA2.1 三个提升应用性能的新功能

    摘要:只用语句,也能完成很多事情,如果不够,你还可以调用数据库的特定功能和存储过程。在中,并没有针对存储过程的实际支持,本地查询是调用存储过程的唯一方式。规范引入了几个新的功能以应对这些低效操作,比如实体图,条件更新和存储过程查询。 经常在网上看到开发者们抱怨 JPA 性能低下的帖子或文章,但如果仔细查看这些性能问题,常会发现导致问题的根本原因大致包括以下几个: 使用过多的 SQL 查询从...

    ormsf 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<