Spring-Boot、HSQLDB、Flyway、MyBatisを使用してWebアプリケーションをコーディングしようとしています。私はMyBatisなしでスタートし、FlywayはHSQLDBを削除するたびにデータベースを作成しました。Flyway&MyBatis:SpringブートのJava構成
私がMyBatisを追加した後は、最初のSQLファイルを変更してデータベースを削除するまでは問題ありませんでした。今、私はweb-appを始めることに失敗しています。フライウェイとマイバティスはどういうわけか、お互いに依存しているようです。
私のデータベース構成:私は完全にMapperScannerConfigurer
、SqlSessionFactoryBean
とSqlSessionTemplate
は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()
を新しい設定クラスに移動しようとしましたが、それは役に立ちませんでした。
間接依存を解決するためには何が必要ですか?