Este tutorial é mais prático. Os programadores adicionam diretamente o código de cópia a seus próprios projetos e podem usá -lo simplesmente modificando e modificando. No entanto, o Springboot e o Mybatis não são apresentados aqui. Se algum leitor quiser saber, eles podem me deixar uma mensagem e continuar prestando atenção. Vou atualizá -lo lentamente no futuro. (Seção de código de área preta, telefone Android pode deslizar manualmente para a esquerda para visualizar todos os códigos)
De fato, a integração é muito simples. Se você usar o gradle, adicione -o no arquivo Build.gradle.
Compile ('org.mybatis.spring.boot: mybatis-spring-boot-starter: 1.3.1')Se você usar o Maven, adicione -o no arquivo pom.xml
Configuração de biblioteca única:
Após a introdução, por padrão, a Spring Boot configurará automaticamente uma fonte de dados para nós, que procurará o caminho de classe para pacotes JAR de H2, HSQLDB e outros em bancos de dados de memória. Se encontrado, ele configurará automaticamente uma fonte de dados para o banco de dados de memória.
application.property os parâmetros de configuração relevantes do spring.datasource.*
Em seguida, o SQLSessionFactoryBean e o SQLSessionTemplate usando o DataSource serão criados automaticamente. Seus mapeadores serão digitalizados automaticamente, conectados ao SQLSessionTemplate e registrados no contexto da primavera.
spring.dataSource.url = jdbc: mysql: // localhost/teste spring.dataSource.username = dbuser spring.dataSource.password = dbpass spring.dataSource.driver-class-name = com.mysql.jdbc.driverc.
Para mais parâmetros, consulte DataSourceProperties
Configuração multi-biblioteca:
Devido às necessidades de negócios, o projeto precisa usar vários bancos de dados para o desenvolvimento de negócios ao mesmo tempo:
Primeiro, devemos personalizar a configuração de duas fontes de dados no Application.property, um usa primeiro.dataSource.* E o outro usa o segundo.dataSource.*. Para permitir que outras pessoas vejam qual biblioteca está conectada de relance, você pode usar a nomeação do banco de dados. Por exemplo, a biblioteca do usuário e você pode usar o user.dataSource.*. Ao usar várias fontes de dados, todas as configurações necessárias não podem ser omitidas.
primeiro.dataSource.url = jdbc: mysql: //localhost/firstfirst.dataSource.username=dbuser1first.datasource.password=dbpass1fi rst.datasource.driver-class-name = com.mysql.jdbc.driverfirst.datasource.type = com.alibaba.druid.pool.druiddatasource // i estou usando druid também você não pode adicionar o padrão Second.DataSource.url = JDBC: mysql: //localhost/secondsecond.dataSource.username=dbuser2second.datasource.password=dbpa ss2second.dataSource.Driver-class-name = com.mysql.jdbc.driverse.datasource.type = com.alibaba.druid.pool.druiddataSource
Eu carrego diretamente o código, minha abordagem é criar duas fontes de dados com duas classes de configuração:
@Configuration @MapperScan (BasEpackages = {"com.user.server.dao"}, sqlsessionTemplateref = "UsersqlSessionTemplate") public class UsermyBatisconfig {@Bean (Name = "UserDataSource") @PRIMARY // A próxima classe não precisa adicionar @ConfigurationProperties (prefix = "First.DataSource") // O valor do prefixo deve ser o prefixo da propriedade correspondente no aplicativo.Properteis public DataSource UserDataSource () {Return DataSourceBuilder.create (). Built (); } @Bean public SQLSessionFactory UsersqlSessionFactory (@Qualifier ("UserDataSource") DataSource DataSource) lança Exceção {SQLSessionFactoryBean Bean = new SQLSessionFactoryBean (); bean.setDataSource (DataSource); // Adicione o XML Directory ResourcePatternResolver resolver = new PathMatchingResourCepTatternResolver (); tente {bean.setMapperlocations (resolver.getResources ("classPath*: com/user/server/dao/mapeamento/*. xml")); return bean.getObject (); } catch (Exceção e) {e.printStackTrace (); lançar nova execução de tempo de execução (e); }} @Bean public sqlSessionTemplate UsersqlSessionTemplate (@qualifier ("UsersqlSessionFactory") SQLSessionFactory SQLSessionFactory) lança exceção {SQLSessionTemplate Modelo = novo SQLSessionTemplate (SQLSessionFactory); // Use a fábrica configurada acima para retornar o modelo; }} @Configuration @mapperscan (bashepackages = {"com.airmi.server.dao"}, sqlsessionTemplateref = "AutoTestSqlSessionTemplate") Public Class AutoTestMybatisconfig {@Bean @configurationProPerties (prefixiTMyBatisconfig @Bean @configurtIcToRties (prefixi) AutoTestDataSource () {return DataSourceBuilder.Create (). Build (); } @Bean public sqlSessionTemplate AutoTestSqlSessionTemplate (@qualifier ("AutoTestSqlSessionFactory") SQLSessionFactory SQLSessionFactory) lança exceção (SQLSessionTemplate Model = new SQLesessionTemplate (sqlSessablory); modelo de retorno; } @Bean Public sqlSessionFactory AutoTestSqlSessionFactory (@qualifier ("AutoTestDataSource") DataSource DataSource) lança exceção {sqlSessionFactoryBean Bean = new SQLSessionFactoryBean (); bean.setDataSource (DataSource); // Adicione o XML Directory ResourcePatternResolver resolver = new PathMatchingResourCepTatternResolver (); tente {bean.setMapperlocations (resolver.getResources ("classPath*: com/airmi/server/dao/mapping/*. xml")); return bean.getObject (); } catch (Exceção e) {e.printStackTrace (); lançar nova execução de tempo de execução (e); }}}@Primary // Esta anotação significa que, quando existem várias classes de implementação para injetar na mesma interface, não é necessário permitir que a anotação automática relatasse um erro. O site oficial exige que, quando várias fontes de dados, uma base de dados deve ser especificada e outra fonte de dados não precisa ser adicionada.
@Qualifier A injeção pelo nome geralmente é injetada em uma instância com vários tipos (por exemplo, existem várias instâncias do tipo de fonte de dados).
@MappersCan (BasePackages = {"com.user.server.dao"}, sqlsessionTemplateref = "UsersqlSessionTemplate") BasePackages é o pacote onde o mapeador está localizado, a instância para a qual o sqlSessionTemplateFef é o que está se encaminhado.A estrutura do código do usuário é a seguinte:
Resumir
O acima exposto é o método de implementação do Spring Boot que integra MyBatis usando várias fontes de dados introduzidas pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!