Java - 在外部文件中存储SQL语句 [已关闭]

16 浏览
0 Comments

Java - 在外部文件中存储SQL语句 [已关闭]

我正在寻找一个Java库/框架/技术,用于将SQL语句存储在外部文件中。支持团队(包括DBA)应该能够稍微修改这些语句,以便在数据库模式更改或调优目的下保持同步。

以下是要求:

  • 文件必须可从Java应用程序中读取,同时支持团队无需使用高级编辑器即可进行编辑
  • 理想情况下,文件应采用纯文本格式,但XML也可以
  • 允许存储/检索DML和DDL语句
  • 可以在以后的阶段添加新语句(应用程序足够灵活,可以获取并执行它们)
  • 语句可以分组(应用程序可以作为一组执行)
  • 语句应支持参数

备注:

  • 检索后,将使用Spring的JDBCTemplate执行这些语句
  • 不使用Hibernate或Spring的IOC容器

到目前为止,我找到了以下使用外部文件存储SQL语句的Java库,但我主要感兴趣的是存储而不是隐藏所有JDBC的"复杂性"的库。

  • Axamol SQL Library

    示例文件内容:

    select *

    from scott.emp

    join scott.dept on (emp.deptno = dept.deptno)

    where emp.ename =

  • iBATIS

    示例文件内容:

    
        
        
    
    
    INSERT INTO ADMINISTRATOR.CONTACT( CONTACTID,FIRSTNAME,LASTNAME)
            VALUES(#contactId#,#firstName#,#lastName#);
     
    
    update ADMINISTRATOR.CONTACT SET
    FIRSTNAME=#firstName# ,
    LASTNAME=#lastName#
    where contactid=#contactId#
    
    
    DELETE FROM ADMINISTRATOR.CONTACT WHERE CONTACTID=#contactId#
    
    

  • WEB4J

    -- This is a comment 
     ADD_MESSAGE   {
     INSERT INTO MyMessage -- another comment
      (LoginName, Body, CreationDate)
      -- another comment
      VALUES (?,?,?)
     }
    -- Example of referring to a constant defined above.
    FETCH_RECENT_MESSAGES {
     SELECT 
     LoginName, Body, CreationDate 
     FROM MyMessage 
     ORDER BY Id DESC LIMIT ${num_messages_to_view}
    }
    

有人可以推荐一个经过验证的解决方案吗?

0