Этот урок более практичен. Программисты напрямую добавляют код копирования в свои собственные проекты и могут использовать его, просто изменяя и изменяя его. Тем не менее, Springboot и Mybatis здесь не представлены. Если какие -либо читатели хотят знать, они могут оставить мне сообщение и продолжать обращать внимание. Я буду медленно обновлять в будущем. (Раздел кода черной области, Android Phone может вручную провести влево, чтобы просмотреть все коды)
На самом деле, интеграция очень проста. Если вы используете Gradle, добавьте его в файл build.gradle.
Compile ('org.mybatis.spring.boot: mybatis-spring-boot-starter: 1.3.1')Если вы используете Maven, добавьте его в файл pom.xml
Конфигурация единой библиотеки:
После введения, по умолчанию, Spring Boot автоматически настраивает данные для нас, который будет искать пакеты JAR для пакетов JAR H2, HSQLDB и других в базах данных памяти. Если найдено, он автоматически настраивает дат данных для базы данных памяти.
Если соответствующие параметры конфигурации spring.datasource.* Указаны в Application.yml или application.property , Spring Boot будет использовать эту конфигурацию для создания данных.
Затем SQLSessionFactoryBean и SQLSessionTemplate с использованием данных будут автоматически созданы. Ваши Mappers будут автоматически отсканированы, подключены к SQLSessionTemplate и зарегистрированы в контексте Spring.
spring.datasource.url = jdbc: mysql: // localhost/test spring.datasource.username = dbuser spring.datasource.password = dbpass spring.datasource.driver-class-name = com.mysql.jdbc.driver
Для получения дополнительных параметров см. DataSourceProperties
Конфигурация мульти-библиотека:
В связи с потребностями бизнеса проект должен использовать несколько баз данных для развития бизнеса одновременно:
Во -первых, мы должны настроить конфигурацию двух источников данных в Application.property, один использует First.datasource.*, А другой использует Second.datasource.*. Чтобы позволить другим увидеть, какая библиотека подключена с первого взгляда, вы можете использовать именование базы данных. Например, пользовательская библиотека, и вы можете использовать user.datasource.*. При использовании нескольких источников данных все необходимые конфигурации не могут быть опущены.
first.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 Я использую друид, вы не можете добавлять по умолчанию 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
Я прямо загружаю код, мой подход состоит в том, чтобы создать два источника данных с двумя классами конфигурации:
@Configuration @mapperscan (basepackages = {"com.user.server.dao"}, sqlsessionTemplateRefer = "userqlSessionTemplate") открытый класс usermybatisconfig {@bean (name = "userDatasource") @primary // Это должно быть добавлено. В противном случае ошибка будет сообщена. Следующий класс не должен добавлять @ConfigurationProperties (prefix = "First.Datasource") // Значение префикса должно быть префиксом соответствующего свойства в Application.properteis public DataSource userDataSource () {return dataSourceBuilder.create (). Build (); } @Bean public sqlSessionFactory usersQlSessionFactory (@qualifier ("userDataSource") DataSource DataSource) THRES Exception {SQLSessionFactoryBean Bean = new SQLSessionFactoryBean (); bean.setDataSource (DataSource); // Добавить xml Directory ResourcePatternResolver Resolver = new PathmatchingResourcepatternResolver (); try {bean.setmapperlocations (rolver.getresources ("classpath*: com/user/server/dao/mapping/*. xml")); return bean.getObject (); } catch (Exception e) {e.printstackTrace (); бросить новое runtimeexception (e); }} @Bean public sqlSessionTemplate usersqlSessionTemplate (@qualifier ("usersqlSessionFactory") sqlSessionFactory sqlSessionFactory) выбрасывает исключение {sqlSessionTemplate Template = new SQLSessionTemptAte (sqlSessionFactory); // Использование заводской настройки выше для возврата шаблона; }} @Configuration @mapperscan (basepackages = {"com.airmi.server.dao"}, sqlSessionTemplateRefer = "autoTestSqlSessionTemplate") открытый класс AutoTestmyBatisconfig {@bean @configurationperties (prefix = "autoTestest.DatoSconfig {@bean @configurationesperties (prefix =" autoTestest.datas AutoTestDatasource () {return dataSourceBuilder.create (). Build (); } @Bean public sqlSessionTemplate AutoTestSqlSessionTemplate (@qualifier ("AutotestSqlSessionFactory") sqlSessionFactory sqlSessionFactory) Обращает исключение {sqlSessionTemplate Template = новый sqlSessionTemptorate (sqlSessionFactory); возвратный шаблон; } @Bean public sqlSessionFactory AutoTestSqlSessionFactory (@qualifier ("AutoTestDataSource") DataSource DataSource) бросает исключение {sqlSessionFactoryBean bean = new SQLSessionFactoryBean (); bean.setDataSource (DataSource); // Добавить xml Directory ResourcePatternResolver Resolver = new PathmatchingResourcepatternResolver (); try {bean.setmapperlocations (rolver.getresources ("classpath*: com/airmi/server/dao/mapping/*. xml")); return bean.getObject (); } catch (Exception e) {e.printstackTrace (); бросить новое runtimeexception (e); }}}@Primary // Эта аннотация означает, что при наличии нескольких классов реализации в одном и том же интерфейсе нет необходимости позволять аннотации Autowire сообщать об ошибке. Официальный веб -сайт требует, чтобы когда несколько источников данных были указаны один источник данных, и другой источник данных не нуждался в добавлении.
@Qualifier внедрение по имени обычно вводится в одном экземпляре с несколькими типами (например, существует несколько экземпляров типа данных).
@Mapperscan (basepackages = {"com.user.server.dao"}, sqlSessionTemplateRefer = "usersqlSessionTemplate") BasePackages - это пакет, где расположено Mapper, экземпляр, на который должен ссылаться.Структура кода пользователя выглядит следующим образом:
Суммировать
Выше приведено метод реализации Spring Boot, интегрирующей Mybatis с использованием нескольких источников данных, введенных редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!