Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何阻止使用HSQL?_Mysql_Spring_Jdbc_Hsqldb_Spring Jdbc - Fatal编程技术网

Mysql 如何阻止使用HSQL?

Mysql 如何阻止使用HSQL?,mysql,spring,jdbc,hsqldb,spring-jdbc,Mysql,Spring,Jdbc,Hsqldb,Spring Jdbc,我试图使用基本的mysql jdbc连接,但是我得到了HSQLDB错误 我所有的配置都没有表明我想要使用HSQL 错误: db.url=jdbc:mysql://<HOST>/<SCHEMA>?autoReconnect=true db.user=<USER> db.pwd=<PW> server.port=8000 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDat

我试图使用基本的mysql jdbc连接,但是我得到了HSQLDB错误

我所有的配置都没有表明我想要使用HSQL

错误

db.url=jdbc:mysql://<HOST>/<SCHEMA>?autoReconnect=true
db.user=<USER>
db.pwd=<PW>
server.port=8000
 <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>
@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);
    }
org.hsqldb.hsqldb异常:用户缺少权限或找不到对象:

  • 此表存在
  • 我在mySQL工作台中使用相同的查询和用户/密码
如何避免使用hsql而坚持使用mysql

连接信息

db.url=jdbc:mysql://<HOST>/<SCHEMA>?autoReconnect=true
db.user=<USER>
db.pwd=<PW>
server.port=8000
 <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>
@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);
    }
查询:

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());
最终字符串sql=”“;
List allData=jdbcTemplateObject.query(新的PreparedStatementCreator(){
@凌驾
公共PreparedStatement createPreparedStatement(连接con)引发SQLException{
PreparedStatement ps=con.prepareStatement(sql);
ps.setInt(1,参数1);
ps.setString(2,参数2);
ps.setInt(3,参数3);
ps.setString(4,参数4);
ps.setString(5,参数5);
返回ps;
}
},新数据映射器());

这是一个不太可能的问题,但是请检查您的
pom.xml
,并删除
hsqldb
依赖项(如果存在)

或者尝试仅在
test
范围内使用它

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

org.hsqldb
hsqldb
2.4.0
测验

Spring喜欢自动配置数据源

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

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

这绝对是第一步。我还需要设置自动配置来忽略application.properties文件中的一些类:
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.hibernatejpa自动配置