继续上一节的项目,复制上一节的quartz项目,改名为quartz-mybatis
pom文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wantceo.eurekaclienttest</groupId>
<artifactId>ceo-eureka-client-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ceo-eureka-client-test</name>
<parent>
<groupId>com.hotkidceo.parent</groupId>
<artifactId>ceo-springcloud-parent</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<dependencies>
<!--eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- SpringCloud配置启动器 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!-- 访问数据库模块 -->
<!-- <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency> -->
<!-- MYSQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- 与数据库操作相关的依赖 -->
<!-- Jdbc 模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<!-- druid 线程池模块 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.3</version>
</dependency>
<!-- quartz模块 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
<!-- spring boot test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</project>
配置文件:
spring:
application:
name: ceo-eureka-client-test
# datasource:
# driver-class-name: com.mysql.jdbc.Driver
# url: jdbc:mysql://127.0.0.1/bpm?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
# username: root
# password: 123
server:
port: 8642
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8601/eureka/
#datasource config
jdbc:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1/bpm?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
username: root
password: 123
#mybatis config
mybatis:
typeAliasesPackage: com.hotkidceo.springcloud.domain
mapperLocations: classpath:mapper/*.xml
新建config包,并建立MyBatisConfig类
package com.hotkidceo.springcloud.config;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import com.alibaba.druid.pool.DruidDataSourceFactory;
@Configuration
@MapperScan(basePackages="com.hotkidceo.springcloud.dao")
public class MyBatisConfig {
@Autowired
private Environment env;
/**
* @Title: getDataSource
* @Description: 创建数据源
* @param @return 设定文件
* @return DataSource 返回类型
* @throws
*/
@Bean
public DataSource getDataSource(){
Properties props = new Properties();
props.put("driverClass", env.getProperty("jdbc.driverClassName"));
props.put("url", env.getProperty("jdbc.url"));
props.put("username", env.getProperty("jdbc.username"));
props.put("password", env.getProperty("jdbc.password"));
try {
return DruidDataSourceFactory.createDataSource(props);
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public SqlSessionFactory sqlSessionFactory(DataSource ds) throws Exception{
SqlSessionFactoryBean sfb = new SqlSessionFactoryBean();
sfb.setDataSource(ds);
//下边两句仅仅用于*.xml文件,如果整个持久层操作不需要使用到xml文件的话(只用注解就可以搞定),则不加
sfb.setTypeAliasesPackage(env.getProperty("mybatis.typeAliasesPackage"));
sfb.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(env.getProperty("mybatis.mapperLocations")));
return sfb.getObject();
}
}
然后就是建立表、实体类、服务层和控制层,这里就省略了,大家自己尝试一下就好
源码地址:
https://gitee.com/EricLoveMia/eureka-client-test-quartz-mybatis.git