springboot配置訪問sqlserver,mysql資料庫以及ssm的公共業務邏輯層抽取
最近喜歡用springboot,有時間就研究了一下,因為經常用sqlserver,在網上查了半天沒有什麼很好的配置,在抽取業務層的時候也出點問題,還好解決了
這是一個比較簡單的結構
先引入sqlserver和mysql的依賴,注意不要重複,這麼低階的錯誤我都不知道自己怎麼犯的
<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/sqljdbc4 --> <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version>4.0</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
這是sqlserver的連線配置
spring: datasource: url: jdbc:sqlserver://localhost:1433;DatabaseName=xxxxx driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver username: sa password: 123456 initial-size: 1 min-idle: 1 max-active: 20 test-on-borrow: true max-wait: 60000 time-between-eviction-runs-millis: 60000 min-evictable-idle-time-millis: 300000 validation-query: SELECT 1 FROM DUAL test-While-Idle: true test-on-return: false pool-prepared-statements: false max-pool-prepared-statement-per-connection-size: 20 filters: stat,wall,log4j,config
initial-size:指定啟動連線池時,初始建立的連線數量
min-idle:指定必須保持連線的最小值
max-active:指定連線池中最大的活躍連線數.
test-on-borrow:當從連線池借用連線時,是否測試該連線.
max-wait:指定連線池等待連線返回的最大等待時間,毫秒單位
time-between-eviction-runs-millis:指定空閒連線檢查、廢棄連線清理、空閒連線池大小調整之間的操作時間間隔
min-evictable-idle-time-millis:指定一個空閒連線最少空閒多久後可被清除.
validation-query:指定獲取連線時連線校驗的sql查詢語句.
test-While-Idle當連線空閒時,是否執行連線測試.
test-on-return:在連線歸還到連線池時是否測試該連線.
pool-prepared-statements:指定是否池化statements
其他的看demo
mysql連線配置,url是一行的我分開顯示的
url: jdbc:mysql://localhost:3306/bdshop?createDatabaseIfNotExist=true&useUnicode=true&useUnicode=true
&characterEncoding=utf8&autoReconnect=true&verifyServerCertificate=false&useSSL=false
&sessionVariables=sql_mode='NO_ENGINE_SUBSTITUTION'&jdbcCompliantTruncation=false
driver-class: com.mysql.jdbc.Driver
在訪問資料庫時指定編碼方式是否使用userssl等等
抽取公共業務層:
這樣重用率會好很多,業務層在一塊,所有工具類在一塊分類顯示,這樣整體結構不冗雜
下面細說一下抽取業務層:
BaseMapper<T>
public interface BaseMapper<T> {
int insert(int id);
}
BaseService<T>:繼承BaseMapper<T>
public interface BaseService<T> extends BaseMapper<T> { }
}
BaseServiceImp<T>實現BaseService<T>,定義一個返回mapper介面的抽象方法等會有用
public abstract class BaseServiceImp<T> implements BaseService<T> {
protected abstract BaseMapper<T> getMapper();
public int insert(int id){
return getMapper().insert(id);
}
}
下面看一下模組層mapper繼承公共BaseMapper,傳入請求引數
public interface AMapper extends BaseMapper<User> {
public User login(User user);
}
service繼承公共BaseService,傳入請求引數,相當於繼承了BaseMapper
public interface AService extends BaseService<User> {
public User login(User user);
}
imp繼承BaseServiceImp,實現模組Service,向公共層傳入引數,注意加上@Service,公共可以不加
BaseServiceImp沒有實現getMapper() 方法,在這裡實現,return指定模組的aMapper,這樣就相當於是aMapper呼叫insert了
這個地方我一開始沒注意,呼叫insert時在BaseServiceImp能傳入引數,但是請求不了BaseMapper去查詢資料庫,一直報null
@Transactional
@Service
public class AServiceImp extends BaseServiceImp<User> implements AService {
@Resource
private AMapper aMapper;
@Override
protected BaseMapper<User> getMapper(){
return this.aMapper;
}
@Override
public User login(User user) {
System.out.println("imp--"+user);
user= aMapper.login(user);
return user;
}
}
AMapper.xml指定AMapper.java
這樣controller不論呼叫login還是insert都可以進行查詢了,清晰的結構還是蠻重要的
對於記錄也是心得沒多久,有不對地方多多指導,不好的地方多多包涵
碼雲地址:https://gitee.com/tickingbomb/tickingbomb/tree/mtgg/
相關推薦
springboot配置訪問sqlserver,mysql資料庫以及ssm的公共業務邏輯層抽取
最近喜歡用springboot,有時間就研究了一下,因為經常用sqlserver,在網上查了半天沒有什麼很好的配置,在抽取業務層的時候也出點問題,還好解決了 這是一個比較簡單的結構 先引入sqlserver和mysql的依賴,注意不要重複,這麼低階的錯誤我都不知道
多臺伺服器之間如何讓sqlserver,mysql資料庫進行資料同步?
伺服器儲存視訊,頻寬不夠用,想用多臺伺服器,如何讓所有伺服器之間視訊實時同步,可以用什麼軟體!當企業租用伺服器,但是在資料同步的時候,又有著嚴格的要求,要求資料達到一致,在科技發達的今天,這又該如何做到了?下面天下資料為大家介紹多臺伺服器之間讓資料同步的方法! 1、採用高可用sureHA軟體映象型,一臺
ABP框架使用Mysql資料庫,以及基於SQLServer建立Mysql資料庫的架構和資料
ABP預設的資料庫是SQLServer,不過ABP框架底層是EF框架,因此也是很容易支援其他型別的資料庫的,本篇隨筆介紹在ABP框架使用Mysql資料庫,以及基於SQLServer建立MySql資料庫的架構和資料的處理。 如果需要其他方式資料庫的支援,那麼需要引入相應的支援程式集。Nuget中安裝MySql相
SpringBoot與MyBatis整合,底層資料庫為mysql的使用示例
專案下載連結:https://github.com/DFX339/bootdemo.git 新建maven專案,web專案,專案名為 bootdemo 專案結構目錄如下:還有個pom.xml檔案沒有在截圖裡面 專案需要編寫的檔案主
17 win7 sp1 x64/VS2015下配置creo4.0二次開發環境——呼叫了眾多開源庫(ceres-solver,PCL1.8.0,office 2016COM介面,MySql資料庫等)
0 引言 本次開發環境的配置是在綜合考慮了開源庫的版本、VS版本以及CREO4.0的版本,同時針對甲方需求選擇了win7 sp1 x64系統。 配置的過程中遇到了形形色色的問題,但是一一解決了。通過這一個帖子,希望總結環境配置的經驗,為以後的專案開發提供借鑑。 1 VS2015 在win7 sp1 x64
Hibernate 環境 配置 對映資料庫 SQL server ,Mysql 資料庫 ,測試無誤
最近要消化的知識有點多,多以特地將筆記寫道 部落格中,方便檢視 需要到的hibernate jar 包 ,大家可以自行到官網下載 Hibernate 中 配置 Sqlserver 資料庫 <?xml version="1.0" encoding=
linux下,mysql資料庫的忘記密碼,檢視使用者,以及修改使用者資訊
linux下,mysql資料庫的忘記密碼,檢視使用者,以及修改使用者資訊 剛好遇到的,也是自己不熟悉的部分,因此查了一些資料,大概把這幾個給總結一下。 一、資料庫忘記密碼 1、如果是root使用者忘記密碼的話,那就沒
分享幾本比較好的pdf書籍,包括oracle資料庫,mysql資料庫,C語言程式設計,java程式設計,以及linux作業系統等
1.個人認為最好的oracle資料庫學習書籍,找了很久,發現內容最全講解最清晰《Oracle PL/SQL程式設計》上下 連結:https://pan.baidu.com/s/1VxvbW070_-KEFKEwY0iFCg 提取碼:rm1e 2.《linux系統程式設計
SpringBoot配置多資料來源(MySQL+SQLServer)
SpringBoot 版本 1.5.13.RELEASE,以下maven依賴中包含jpa、web、mysql驅動、sqlserver驅動、測試模組。(按需新增) <parent> <groupId>org.springframework.
spring日誌配置分別使用springboot自帶日誌,logbak日誌以及log4j2日誌
Springboot日誌配置: Springboot日誌配置分別可以分為自帶的日誌,醫用第三方日誌; 以下分別下介紹springboot自帶日誌配置,引用logback,以及log4j2日誌。 1、 預設配置檔案配置(不推薦使用):因為不夠靈活 配置方式比較簡單:在application.p
在專案中遷移MS SQLServer到Mysql資料庫,實現MySQL資料庫的快速整合
在開發專案的時候,往往碰到的不同的需求情況,相容不同型別的資料庫是我們專案以不變應萬變的舉措之一,在底層能夠相容多種資料庫會使得我們開發不同型別的專案得心應手,如果配合快速的框架支援,那更是錦上添花的舉措。我開發的專案或者框架,採用了微軟企業庫Enterprise Library的模組,傾向於支援多種資料庫,
springboot配置多資料來源,註解操作資料庫
最近新搭建了一個專案,需要去不同的資料庫中查詢資料,需要多個數據源,在網上搜索了下,基本上實現都很複雜,下面我自己實現了一個很簡單的配置方法。 1、原來我們都是在application.yml檔案中配置資料來源,現在不需要在application.yml檔案中配置了。 &n
文件互傳,用戶配置文件和密碼配置文件,用戶以及用戶組管理
不同的 ssl 註釋 cal ger 生命周期 remove 安裝 aaa 與windows互傳文件如果我們要互傳文件,先要安裝一個工具,lrzsz。rz是從windiws中下載文件到linux,sz是從linux中上傳文件到windows的。 linux只一個多用戶的操作
mac下的用idea配置jsp+tomcat連線mysql資料庫的環境
第一步 這裡假設IDEA和tomcat都以配置完成,僅差連線資料庫。 去這裡下載連線Mysql所需要的驅動程式mysql-connector-java-5.1.47-bin.jar。 第二步 下載完成後解壓獲取 並把它放在和tomcat伺服器的lib同一個資料夾下
springboot 配置ehcache快取,通過註解定製多租戶(multiTenantId)生成快取的key,並且實現註解按照tenantId清除快取,tanant之間快取互相不影響
調研背景 本公司有一項功能需求,由於查詢的資料太多會導致訪問時間超優化API介面,但是這不是長久之計,便決定引入快取,但是此 快取能夠實現按照不同租戶的ID號碼在同一個cacheName中去生成能識別租戶的key,而且在使用cacheEvict時候
外網訪問內網MySQL資料庫
外網訪問內網MySQL資料庫 本地安裝了MySQL資料庫,只能在區域網內訪問,怎樣從外網也能訪問本地MySQL資料庫? 本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動MySQL資料庫 預設安裝的MySQL資料庫埠是3306。 2. 實現步驟 2.1 下載並解壓holer軟體包
全國省市區資訊,mysql資料庫記錄
-- 1、之前專案中需要全國的省市區資料,在網上找了很多,發現數據要麼不全,要麼就是過時了。 -- 2、然後發現高德地圖有這類的api可以免費使用。 -- 3、高德地圖‘行政區域查詢’API:
如何從公網訪問內網MySQL資料庫
公網訪問內網MySQL資料庫 本地安裝了MySQL資料庫,只能在區域網內訪問,怎樣從公網也能訪問本地MySQL資料庫? 本文將介紹具體的實現步驟。 1. 準備工作 1.1 安裝並啟動MySQL資料庫 預設安裝的MySQL資料庫埠是3306。 2. 實現步驟 2.1
配置phpmyadmin連線遠端 MySQL資料庫
1、phpmyadmin程式所在伺服器:192.168.1.1,訪問地址為:http://192.168.1.1/phpmyadmin 2、MySQL資料庫所在伺服器:192.168.1.2,已經允許資料庫外鏈,MySQL資料庫使用者名稱:admin 密碼:123456 3、現在要通過http://
PHP當中如何使用Wampserver連線到Mysql資料庫以及怎樣使用
3個回答 #各抒己見# 老人向兒子索要帶孫子費,老人有照看孫輩的義務嗎? 最佳答案 程順偉 來自知道合夥人認證行家 2016-02-05 wampserver安裝好後,在瀏覽器中訪問,localhost/phpmyadmin/,登入你當初設定的