java开源从xml生成sql查询

标签 java sql xml frameworks

在java中,我们有开源的从xml文件生成sql吗?例如,最简单的情况是:

<query>
  <select>id</select>
  <from>student</from>
   <equal><column>name</column><val>john</val></equal>
   <equal><column>age</column><val>23</val></equal>
   <equal><column>registerDate</column><val>03/04/1990</val></equal>
</query>

然后会生成一条sql:

select id
from student
where name = 'john'
    and age = 23
    and registerDate = '03/04/1990'

当然,这是最简单的情况,当我们有Between、Join时,情况会更复杂。那么我们有开源来处理这个问题吗?我不想像hibernate那样使用ORM,因为它太过分了。

谢谢。

最佳答案

必须使用这种 XML 格式吗?它是在内部以某种方式定义的吗?

如果您对 XML 的目标纯粹是使动态查询更易于创建,您可以尝试 MyBatis 。它使用 XML 定义文件将 SQL 查询分组在一起,并允许您根据参数动态更改查询,而无需使用字符串连接组装 SQL 查询。您不会将每个元素都定义为 XML 标记,而只会将可能更改的部分定义为 XML 标记。看看MyBatis User Guide了解更多信息和代码示例。下面是一个简单的动态查询的快速浏览:

<select id=”findActiveBlogWithTitleLike” parameterType=”Blog” resultType=”Blog”>
    SELECT * FROM BLOG
    WHERE state = ‘ACTIVE’
    <if test=”title != null”>
        AND title like #{title}
    </if>
</select>

这只是为了让您大致了解一下它的样子。有很多可能性和标签可以帮助您构建您可能需要的任何查询,因此我建议您花一些时间阅读用户指南以完全了解框架功能。

关于java开源从xml生成sql查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543558/

相关文章:

java - 图书馆应用。卡在编辑书籍方法上

java - 如何读取巨大压缩文件的最后 n 行而不将整个文件解压到磁盘

java - Eclipse - Java 已启动但返回退出代码 = 13

android - 安装 apk 文件时将 XML 文件从 Assets 复制到外部存储

java - 空指针异常 : HTTP response code 500

sql - 使用 SQL Server 替换函数替换字符串 - 字符串超过 4000 个字符 - 怎么办?

python - 将混合列表转换为字符串,只为字符串保留引号

sql - SQLite:重用带引号的别名

javascript - 如何将通用 JavaScript 对象序列化为 XML

java - 解析 Node 内的 XML