java开源从xml生成sql查询

时间:2011-04-04 19:49:52

标签: 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'

当然,这是最简单的情况,当我们介于加入之间时,它会更复杂。那么我们有一个开源来处理这个吗?我不想像hibernate一样使用ORM,因为它太过分了。

感谢。

1 个答案:

答案 0 :(得分:0)

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

如果您关于XML的目标纯粹是让动态查询更容易创建,那么您可以尝试MyBatis。它使用XML定义文件将SQL查询组合在一起,并允许您根据参数动态更改查询,而无需使用字符串连接组装SQL查询。您不会将每个元素定义为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>

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