如何将变量添加到xml属性文件?

时间:2017-09-25 11:35:50

标签: java sql spring

我正试图将spring外部化SQL语句用于https://stackoverflow.com/a/24141382/1194415

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

<properties>
    <entry key="SQL_MAX_ID">
        <![CDATA[
            SELECT MAX(id) FROM mytable
        ]]>
    </entry>
</properties>

问题:当有多个sql语句时,最好只定义mytable一次,然后将其称为某种变量。

这可以在一个简单的属性文件中吗?

我按如下方式加载文件:

@Bean
public PropertiesFactoryBean sql() {
    PropertiesFactoryBean bean = new PropertiesFactoryBean();
    bean.setLocation(new ClassPathResource("sql.xml"));
    return bean;
}

1 个答案:

答案 0 :(得分:0)

在spring项目中存储属性的推荐方法是在src / main / resources下的属性文件application.properties文件中使用属性文件,并在那里定义属性

table=mytable 

然后使用JSTL在xml中访问它

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">

<properties>
  <entry key="SQL_MAX_ID">
    <![CDATA[
        SELECT MAX(id) FROM ${table}
    ]]>
</entry>
</properties>