En primer lugar, la integración MyBatis
- MyBatis integración es la integración del trabajo del proyecto debe hacerse, antes de MyBatis necesidad de integración para integrar origen de datos, fuente de datos proporciona SpringBoot programa de integración automática, configuración hacen más fácil, para la integración en MyBatis sólo necesita unos pocos pasos simples que usted puede configurar.
1. Procedimiento
- dependencia de las importaciones
- Configuración del origen de datos
- componentes básicos completos para crear: dominio, asignador asignador, archivo de asignación mapper.xml, servicio de mesa
- configuración MyBatis
- prueba
1.1. La dependencia externa
La agrupación de conexiones, mysql impulsado, y los paquetes de MyBatis se introducen en, grupo de conexión seleccionado Ali Druida
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis jar包-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>
<!--mysql驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.20</version>
</dependency>
</dependencies>
1.2 Configuración manual - no se recomienda
- Configurar manualmente las cuatro propiedades
jdbc:
username: root
password: 123456
url: jdbc:mysql:///ssm
driver-class-name: com.mysql.jdbc.Driver
Configuración definida la clase DataSource
@SpringBootApplication
public class ApplicationConfig {
//手动配置
@Bean
@ConfigurationProperties(prefix = "jdbc")
public DataSource dataSource() {
DruidDataSource dataSource = new DruidDataSource();
return dataSource;
}
public static void main(String[] args) {
SpringApplication.run(ApplicationConfig.class, args);
}
}
1.3 Configuración automática
dominio, asignador, capa de servicio se omite
application.yml se encuentra:
#配置DataSource
spring:
datasource:
username: root
password: 123456
url: jdbc:mysql:///springboot?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
driver-class-name: com.mysql.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
#配置mybatis
mybatis:
#sql:xml文件
mapper-locations: classpath:cn/itsource/mapper/*.xml
#配置别名
type-aliases-package: cn.itsource.domain
server:
port: 8080
clase de configuración ApplicationConfig
/**
* @MapperScan("cn.itsource.mapper"):映射器的自动扫描
*/
@SpringBootApplication
@MapperScan("cn.itsource.mapper")
public class ApplicationConfig {
public static void main(String[] args) {
SpringApplication.run(ApplicationConfig.class,args);
}
}
En segundo lugar, los asuntos de integración
- En primavera podemos utilizar la configuración de transacciones anotación, también puede utilizar la configuración de la transacción manera XML, también puede utilizar estos dos métodos en SpringBoot, simplemente SpringBoot programa de anotación recomienda, por lo que estamos aquí principalmente anotación organizó la transacción.
Asuntos 2.1. Las anotaciones se configuran
administrador de transacciones abierta ==
- Después de importar la dependencia MyBatis, administrador de transacciones ha existido, sólo tenemos que la gestión de transacciones abierta puede ser configurado en clase
/**
* @MapperScan("cn.itsource.mapper"):映射器的自动扫描
*
* @EnableTransactionManagement:开启事务管理
*/
@SpringBootApplication
@MapperScan("cn.itsource.mapper")
@EnableTransactionManagement
public class ApplicationConfig {
public static void main(String[] args) {
SpringApplication.run(ApplicationConfig.class,args);
}
}
Jugar a la mancha en el servicio de transacciones (@Transactional han dado Asuntos función de servicio)
@Service
@Transactional
public class EmployeeServiceImpl implements IEmployeeService {
@Autowired
private EmployeeMapper employeeMapper;
@Transactional(readOnly = true)
@Override
public List<Employee> findAll() {
return employeeMapper.findAll();
}
}
Asuntos de configuración 2.2.xml
introducción 2.2.1. AOP dependiente de
<!--aop依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
2.2.2. Asuntos de configuración XML
<!-- 配置事物管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<aop:config>
<aop:pointcut expression="execution(* cn.itsource.web.controller.service..*.*(..))" id="coreServicePointcut"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="coreServicePointcut"/>
</aop:config> <!-- aop应用事务管理 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="select*" read-only="true"/>
<tx:method name="*" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
2.2.4. Clase de configuración de importación de configuración XML
@ImportResource("classpath:applicationContext-service.xml")
public class ApplicationConfig{}