記一次springboot + Druid + mybatis的大坑

聽說Druid連接池很不錯,性能好還提供監控,決定在項目中使用.網上查了下使用方法,感覺還挺簡單的,一通複製粘貼,監控頁面成功打開,我還以爲成功了,接着整合mybatis,出事了,先報

init datasource error, url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
java.sql.SQLException: 調用中無效的參數

我以爲是路徑寫錯了,一通檢查,各種嘗試,錯誤依舊. 看到網上有人說是驅動程序版本不對,衝突了,我從oracle客戶端拿了jdbc6.jar安裝到maven倉庫,再測試,這次報:

ERROR com.alibaba.druid.pool.DruidDataSource - {dataSource-1} init error
java.sql.SQLException: ORA-01017: invalid username/password; logon denied


用戶名/密碼不對? 打開plsql測試,正常連接,沒辦法,只能debug看下使用的用戶名/密碼對不對,不得不說debug真是神器,出現任何程序上的問題都是可以debug一波.

先搞個測試類:

@SpringBootTest(classes = {com.yct.statistics.Application.class})
@RunWith(SpringRunner.class)
public class DruidTest {
    @Resource
    private DataSource dataSource;

    @Test
    public void getConnection() throws SQLException {
        Connection connection = dataSource.getConnection();
        System.out.println(dataSource.getClass());
        System.out.println(connection);
    }

}

在獲取連接處打個斷點,

用戶名/密碼爲空?瞄一下application.yml

靠,真的坑,這配置都是網上拷的,果然靠不住,改成如下:

再次測試,成功!!!

再把oracle驅動換回來,測試也成功!說明跟驅動版本沒什麼關係.

哎!白白浪費一下午,以後程序出現什麼問題,先本地測試,debug看下問題,慢慢調,相信自己也能處理絕大多數的bug

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