-
開發環境配置
1.eclipse Mars.2 Release (4.5.2)
2.maven 3.3.9
3.jdk 1.8.0_171
4.os win10
5.mysql 8.0.11 -
環境搭建
1.創建maven工程
2.編輯pom.xml<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> </dependencies>
3.編寫application.yml配置
spring:
datasource:
name: mysql_test
type: com.alibaba.druid.pool.DruidDataSource
#MySQL相關配置
#5.17版本驅動
#driver-class-name: com.mysql.jdbc.Driver
#8.0.11版本驅動
#driver-class-name: com.mysql.cj.jdbc.Driver
#基本屬性
#5.17版本 url鏈接
#url: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8
#8.0.11版本 url鏈接
url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false
username: 用戶名
password: 密碼
#druid相關配置
druid:
#監控統計攔截的filters
filters: stat
#配置初始化大小/最小/最大
initial-size: 1
min-idle: 1
max-active: 20
#獲取連接等待超時時間
max-wait: 60000
#間隔多久進行一次檢測,檢測需要關閉的空閒連接
time-between-eviction-runs-millis: 60000
#一個連接在池中最小生存的時間
min-evictable-idle-time-millis: 300000
#用於檢測連接是否有效的語句
validation-query: SELECT 'x'
#申請連接時,空閒時間大於(timeBetweenEvictionRunsMillis),則檢測連接的有效性
test-while-idle: true
#申請連接時,檢測連接的有效性(性能損耗)
test-on-borrow: false
#歸還連接時,檢測連接的有效性(性能損耗)
test-on-return: false
#打開PSCache,並指定每個連接上PSCache的大小。oracle設爲true,mysql設爲false。分庫分表較多推薦設置爲false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20
#MyBatis相關配置
mybatis:
mapper-locations: classpath:mapper/*.xml #注意:一定要對應mapper映射xml文件的所在路徑
type-aliases-package: com.lc.entity # 注意:對應實體類的路徑
4.根據配置文件創建包結構
5.編寫實體類(com.lc.entity)
6.編寫mapper(com.lc.mapper)注意需要編寫對應的mapper.xml文件
7.編寫service(com.lc.service)
8.編寫service實現類(com.lc.service.impl)
9.編寫controller(com.lc.controller)
10.編寫druid數據庫監控配置(com.lc.config)
/**
* 主要實現WEB監控的配置處理
*
* @return
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@Bean
public ServletRegistrationBean druidServlet() {
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),
"/druid/*"); // 進行druid監控的配置處理操作
servletRegistrationBean.addInitParameter("allow", "127.0.0.1,192.168.1.159"); // 白名單
servletRegistrationBean.addInitParameter("deny", "192.168.1.200"); // 黑名單
servletRegistrationBean.addInitParameter("loginUsername", "admin"); // 用戶名
servletRegistrationBean.addInitParameter("loginPassword", "admin123"); // 密碼
servletRegistrationBean.addInitParameter("resetEnable", "false"); // 是否可以重置數據源
return servletRegistrationBean;
}
@SuppressWarnings({ "rawtypes", "unchecked" })
@Bean
public FilterRegistrationBean filterRegistrationBean() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
filterRegistrationBean.setFilter(new WebStatFilter());
filterRegistrationBean.addUrlPatterns("/*"); // 所有請求進行監控處理
filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*");
return filterRegistrationBean;
}
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource druidDataSource() {
return new DruidDataSource();
}
11.編寫啓動代碼
@SpringBootApplication
@MapperScan("com.lc.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
ps:必須要配置@MapperScan否則掃描不到mapper接口
12.運行主程序
在瀏覽器中輸入controller配置的映射地址 http://localhost:8080/student/findAll
在瀏覽器中輸入druid監控登錄地址 http://localhost:8080/druid/login.html