嘗試hikari和jdbctemplate
試著基于jdbctemplate包裝一個MysqlHelper類。
連接池采用springboot默認的hikari。
jdbctemplate提供基本的防注入,它的寫法比jdbc好看,jdbc還需要putint,putstr。提供的另一個功能是結果集的轉換。
寫完,測試代碼的面貌如下:
var sqlhp = new SqlHelper(); sqlhp.configAddress("localhost", 3306); sqlhp.configDbName("sjzwl"); sqlhp.configUserPwd("root", "123"); sqlhp.update("insert into tokens (uid, token) values(?, ?)", 123, "I'am");
運行,第一個報錯是:
Failed to configure a DataSource: ‘url‘ attribute is not specified and no embedded datasource
猜測是springboot自動初始化時,在配置文件里找不到相關參數,因為這個helper是手動初始化的。
解決方法,關閉springboot對DataSource的自動配置,具體在applicaiton.properties里加上一句:
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
解決。接下來報錯,類似:
java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:h2:~/testd
網上說兩個原因,1,url寫錯了,2,缺驅動。原來mysql的驅動(姑且叫他驅動吧)還需要我自己下載啊。
在pom.xml里加上:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.x</version> <!-- 請替換為實際需要的版本號 -->
</dependency>
ctrl+s,觸發eclipse的自動更新依賴,會看到maven依賴里多了一個mysql-connector-java-xxx.jar的文件,再運行就ok了。看來是缺驅動。

浙公網安備 33010602011771號