2016-08-27 6 views
1

Spring-Boot、HSQLDB、Flyway、MyBatisを使用してWebアプリケーションをコーディングしようとしています。私はMyBatisなしでスタートし、FlywayはHSQLDBを削除するたびにデータベースを作成しました。Flyway&MyBatis:SpringブートのJava構成

私がMyBatisを追加した後は、最初のSQLファイルを変更してデータベースを削除するまでは問題ありませんでした。今、私はweb-appを始めることに失敗しています。フライウェイとマイバティスはどういうわけか、お互いに依存しているようです。

私のデータベース構成:私は完全にMapperScannerConfigurerSqlSessionFactoryBeanSqlSessionTemplateはMyBatisのから来ていることを理解

@Configuration 
public class DatabaseConfiguration { 

    @Bean 
    public DataSource dataSource() { ... } 

    @Bean 
    public DataSourceTransactionManager transactionManager() { ... } 

    @Bean 
    public static MapperScannerConfigurer mapperScannerConfigurer() { ... } 

    @Bean 
    public DataSourceInitializer dataSourceInitializer() throws Exception { ... } 

    @Bean 
    public SqlSessionFactoryBean sqlSessionFactoryBean() throws Exception { ... } 

    @Bean 
    public SqlSessionTemplate sqlSessionTemplate() throws Exception { ... } 

} 

、すべてのフライウェイ-ものは春ブーツによって行われます。 FlywayにはDataSourceが必要であり、MyBatisには、マイグレーションの初期化を可能にするためにFlywayスクリプトが既に実行されているデータベースが必要です。

私が手にエラーがフライウェイはすでに何かをした全体のログファイルには兆候がないことを

### Error querying database. Cause: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: MY_TABLE 
### The error may exist in file [/home/work/Eclipse/com.sjngm.hs/target/classes/sqlmap/MyTableMapper.xml] 
### The error may involve com.sjngm.hs.dao.mapper.MyTableMapper.getByName 
### The error occurred while executing a query 
### SQL: SELECT *  FROM MY_TABLE  WHERE Name = ? 
### Cause: java.sql.SQLSyntaxErrorException: user lacks privilege or object not found: MY_TABLE 

注意です。また、HSQLDBのファイルにCREATE TABLEが見つかりません。上記のエラーにより、テーブルMY_TABLEが見つからないというエラーが表示されます。

私はすでにdataSource()を新しい設定クラスに移動しようとしましたが、それは役に立ちませんでした。

間接依存を解決するためには何が必要ですか?

答えて

1

dataSource()@FlywayDataSourceです。

関連する問題