搭建springboot-mybatis

  • 開發環境配置
    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.根據配置文件創建包結構
springboot-mybatis
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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章