如何阻止HSQL被使用?

时间:2018-01-11 19:29:19

标签: mysql spring jdbc hsqldb spring-jdbc

我尝试使用基本的mysql jdbc 连接,但我收到了HSQLDB错误。

我没有任何配置表明我想使用HSQL。

错误

  

org.hsqldb.HsqlException:用户缺少未找到的权限或对象:<(mytable)>

  • 此表存在
  • 我在mySQL Workbench中使用相同的查询和用户/密码

如何避免使用hsql并坚持使用mysql

连接信息

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${db.url}" />
    <property name="username" value="${db.user}" />
    <property name="password" value="${db.pwd}" />
    <property name="initialSize" value="5" />
    <property name="maxActive" value="10" />
    <property name="minIdle" value="5"/>
    <property name="validationQuery" value="SELECT 1"/>
  </bean>

的applicationContext.xml

@Repository("myDAO")
public class myDAO implements DAOInterface{

    private DataSource dataSource;
    private JdbcTemplate jdbcTemplateObject;

    @Autowired
    public myDAO (DataSource ds) {
        this.dataSource = ds;
        this.jdbcTemplateObject = new JdbcTemplate(dataSource);
    }

DAO构造函数

final String sql = "<QUERY>";
List<DataObj> allData = jdbcTemplateObject.query(new PreparedStatementCreator() {
    @Override
    public PreparedStatement createPreparedStatement(Connection con) throws SQLException {
        PreparedStatement ps = con.prepareStatement(sql);
        ps.setInt(1, param1);
        ps.setString(2,param2);
        ps.setInt(3, param3);
        ps.setString(4,param4);
        ps.setString(5,param5);
        return ps;
    }
}, new DataMapper());

查询:

<span>content<span>

2 个答案:

答案 0 :(得分:1)

这是一个很长的镜头,但请检查您的pom.xml并删除hsqldb依赖项(如果有的话)。

或尝试仅将其用于test范围。

<dependency>
    <groupId>org.hsqldb</groupId>
    <artifactId>hsqldb</artifactId>
    <version>2.4.0</version>
    <scope>test</scope>
</dependency>

答案 1 :(得分:0)

Spring喜欢自动配置数据源。

我需要设置自动配置以忽略application.properties文件中的许多类:

spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration, org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration