Spring Boot는 Pivotal 팀에서 제공하는 새로운 프레임워크로, 새로운 Spring 애플리케이션의 초기 구성 및 개발 프로세스를 단순화하도록 설계되었습니다. 프레임워크는 구성에 대한 임시 접근 방식을 사용하므로 개발자가 상용구 구성을 정의할 필요가 없습니다. 이러한 방식으로 Spring Boot는 급성장하고 있는 신속한 애플리케이션 개발 분야의 리더가 되기 위해 노력하고 있습니다.
MyBatis를 통합하기 전에 먼저 druid 데이터 소스를 구성합니다.
Spring Boot 시리즈
1. Spring Boot 시작하기
2. >
3.Spring Boot는 MyBatis를 통합합니다4.Spring Boot 정적 자원 처리5.Spring Boot - 구성 정렬 종속성 기술Spring Boot 통합 druid
druid에는 많은 구성 옵션이 있습니다. Druid는 spring Boot 구성 파일을 사용하여 쉽게 구성할 수 있습니다. application.yml 구성 파일에 작성하세요: spring:datasource: name: test url: jdbc:mysql://192.168.16.137:3306/test username: root password: # 使用druid数据源 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver filters: stat maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 timeBetweenEvictionRunsMillis: 60000 minEvictableIdleTimeMillis: 300000 validationQuery: select 'x' testWhileIdle: true testOnBorrow: false testOnReturn: false poolPreparedStatements: true maxOpenPreparedStatements: 20여기에서 다음 유형을 통해 구성하세요: com.alibaba.druid.pool.DruidDataSource!
Spring Boot는 MyBatis를 통합합니다
Spring Boot를 MyBatis와 통합하는 간단한 방법은 공식 MyBatis 솔루션을 사용하는 것입니다. mybatis-spring-boot-starter또 다른 방법은 mybatis-spring과 유사한 구성 방법을 사용하는 것입니다. 이 방법을 사용하려면 일부 코드를 직접 작성해야 하지만 MyBatis를 쉽게 제어할 수 있습니다. .다양한 구성.1. mybatis-spring-boot-starter 방법
pom.xml에 종속성 추가:<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.0.0</version> </dependency>mybatis - spring-boot-starter 종속성 트리는 다음과 같습니다. mybatis에서 사용하는 3.3.0 버전을 전달할 수 있습니다.
typeAliasesPackage: tk.mapper.model
2. mybatis-spring 메소드
이 방법은 일반적인 사용법과 동일하며 상대적으로 가깝습니다. mybatis 종속성과 mybatis-spring 종속성을 추가해야 합니다. 그런 다음 MyBatisConfig 구성 클래스를 생성합니다:/** * MyBatis基础配置 * * @author liuzh * @since 2015-12-19 10:11 */ @Configuration @EnableTransactionManagement public class MyBatisConfig implements TransactionManagementConfigurer { @Autowired DataSource dataSource; @Bean(name = "sqlSessionFactory") public SqlSessionFactory sqlSessionFactoryBean() { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setTypeAliasesPackage("tk.mybatis.springboot.model"); //分页插件 PageHelper pageHelper = new PageHelper(); Properties properties = new Properties(); properties.setProperty("reasonable", "true"); properties.setProperty("supportMethodsArguments", "true"); properties.setProperty("returnPageInfo", "check"); properties.setProperty("params", "count=countSql"); pageHelper.setProperties(properties); //添加插件 bean.setPlugins(new Interceptor[]{pageHelper}); //添加XML目录 ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); try { bean.setMapperLocations(resolver.getResources("classpath:mapper/*.xml")); return bean.getObject(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } @Bean @Override public PlatformTransactionManager annotationDrivenTransactionManager() { return new DataSourceTransactionManager(dataSource); } }위 코드는 SqlSessionFactory 및 SqlSessionTemplate을 생성하여 주석 트랜잭션을 지원하기 위해 @EnableTransactionManagement 주석이 추가되고 PlatformTransactionManagerBean이 반환됩니다. 또한 이 구성에는 MapperScannerConfigurer가 없다는 점에 유의해야 합니다. MyBatis의 Mapper 인터페이스를 스캔하려면 이 구성을 별도의 클래스에 배치해야 합니다.
/** * MyBatis扫描接口 * * @author liuzh * @since 2015-12-19 14:46 */ @Configuration //TODO 注意,由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解 @AutoConfigureAfter(MyBatisConfig.class) public class MyBatisMapperScannerConfig { @Bean public MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory"); mapperScannerConfigurer.setBasePackage("tk.mybatis.springboot.mapper"); return mapperScannerConfigurer; } }이 구성에 대해서는 @AutoConfigureAfter(MyBatisConfig.class)에 주의해야 합니다. 그렇지 않으면 예외가 발생합니다. 그 이유는 이 클래스가 비교적 일찍 실행되기 때문입니다. sqlSessionFactory가 아직 존재하지 않기 때문에 후속 실행 오류가 발생합니다. 위 구성을 완료한 후 MyBatis를 사용할 수 있습니다. 페이징 플러그인과 범용 매퍼 통합에 대해플러그인인 페이징 플러그인의 예가 위 코드에 있습니다. 일반적인 Mapper 구성은 실제로 MapperScannerConfigurer 구성 시 tk.mybatis.spring.mapper.MapperScannerConfigurer를 사용하고 Properties를 사용하여 속성을 구성하는 것입니다. MyBatis를 통합하는 Spring Boot 기본 프로젝트두 번째 방법으로 통합 프로젝트를 github에 업로드하고, 페이징 플러그인과 유니버설 매퍼를 통합한 프로젝트입니다. 참고용으로만 사용하세요. 프로젝트 주소: https://github.com/abel533/MyBatis-Spring-Boot위 주소에서 페이징 플러그인 및 일반 Mapper 관련 정보를 확인하실 수 있습니다. 관련 참조: Spring Boot 빠른 시작 가이드Spring Boot 빠른 시작 튜토리얼
위 내용은 MyBatis를 통합하는 Spring Boot의 Java 인스턴스에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!