在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/