我试图使用一个基本的mysql-jdbc连接,但是我得到了hsqldb错误。
我所有的配置都没有表明我想使用hsql。
错误:
org.hsqldb.hsqlexception:用户缺少权限或找不到对象:<(mytable)>
此表已存在
我在mysql工作台中使用相同的查询和用户/密码
我怎样才能避免使用hsql而坚持使用mysql呢
连接信息:
db.url=jdbc:mysql://<HOST>/<SCHEMA>?autoReconnect=true
db.user=<USER>
db.pwd=<PW>
server.port=8000
applicationcontext.xml:
<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>
dao构造函数:
@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());
2条答案
按热度按时间7kqas0il1#
spring喜欢自动配置数据源。
我需要将自动配置设置为忽略application.properties文件中的许多类:
zpgglvta2#
这是一个远大的希望,但检查你的
pom.xml
然后取下hsqldb
依赖性,如果存在的话。或者试着把它和
test
范围。