J'étais un peu accro au développement avec Spring Boot2 x Doma2, donc je vais le garder comme un mémorandum.
Spring Boot 2.1.7 Java11 IntelliJ 2018.3 DOMA doma-spring-boot-starter:1.1.1 MySQL 5.7 gradle 5.4.1
Cette erreur peut se produire même si le fichier SQL a la structure de répertoires correcte comme indiqué ci-dessous.
Exemple) --L'emplacement du fichier SQL est correct UserRepostory, méthode findOne src/main/xxx/domain/repository/UserResotiory.java src/main/resources/META-INF/xxx/domain/repository/UserResotiory/findOne.sql
Ajoutez ce qui suit à build.gradle
processResources.destinationDir = compileJava.destinationDir
compileJava.dependsOn processResources
Référence: https://github.com/domaframework/simple-boilerplate/blob/master/build.gradle
L'erreur suivante required a bean of type xxxxxRepository that could not be found. Consider defining a bean of type xxxxxx
On suppose que les paramètres suivants sont définis dans IntellJ (cela devrait être fait si Lombok est inclus) Dans Préférence> Construire, Exécution, Déploiement> Processeurs d'annotations Activer Activer le traitement des annotations
Ajoutez l'annotation ConfigAutowireable à l'interface du référentiel (Dao)
Si vous souhaitez passer même s'il existe une colonne inconnue, vous devez créer la classe Config de Doma et remplacer UnknownColumnHandler. (Il devrait y avoir d'autres cas où Config est requis) Dans le document officiel, la méthode d'utilisation de SingletonConfig est au sommet, mais dans le cas de Spring Boot, une méthode avancée correspondant au framework est requise.
DomaConfig.java
@Configuration
public class DomaConfig implements Config {
@Autowired
private DomaAutoConfiguration domaAutoConfiguration;
@Autowired
private DataSource dataSource;
@Override
public DataSource getDataSource() {
return dataSource;
}
@Override
public UnknownColumnHandler getUnknownColumnHandler() {
return new UnknownColumnHandler() {
@Override
public void handle(Query query, EntityType<?> entityType, String unknownColumnName) {
//Remplacer et écraser
}
};
}
@Override
public Dialect getDialect() {
return domaAutoConfiguration.dialect();
}
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource primaryDataSource(DataSourceProperties properties) {
return properties.initializeDataSourceBuilder().build();
}
}
Je pense que My Batis est courant pour Spring Boot 2 ORM, mais j'ai essayé d'utiliser Doma 2 pour les raisons suivantes.
Recommended Posts