Mybatis-Spring連接mysql 8.0配置步驟出錯的解決方法
本文為大家解決了Mybatis-Spring 連接 MySQL8.0 的配置步驟出錯問題,供大家參考,具體內(nèi)容如下
環(huán)境以及配置文件
- JDBC jar版本 : 8.0.11
- Mybatis jar版本 : 3.4.6
- Spring jar版本 : 4.3.18
- Mybatis-Spring jar版本 : 1.3.1
- 配置信息文件 : db.properties
- Spring配置文件 : applicationContext.xml
測試路徑如下圖

配置db.properties
配置db.properties中填寫以下內(nèi)容
# 驅(qū)動名這樣寫 jdbc.driver=com.mysql.cj.jdbc.Driver # url這樣寫 jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true # 數(shù)據(jù)庫用戶名 jdbc.username=root # 數(shù)據(jù)密碼 jdbc.password=password
這里有一個錯誤點, 就是用戶名的key用的是username, 這樣的話, 在applicationContext.xml中配置數(shù)據(jù)源時用的是${username}, 這樣會導(dǎo)致一個問題, 因為XML的表達(dá)式中${username}, 代表電腦環(huán)境路徑下的username!!! 就是說用的是你電腦的用戶名, 不是數(shù)據(jù)庫的用戶名!!! 總而言之, 別用username當(dāng)key名 我用的是jdbc.username.
配置applicationContext.xml
1.在applicationContext.xml中, 引入db.properties 文件.
<context:property-placeholder location="db.properties"/>
2.配置數(shù)據(jù)源
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
3.配置 Mybatis 掃描mapper.XML文件
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <!-- 寫一些數(shù)據(jù)庫的配置, 因為我沒用到, 所以用不著 --> <!-- <property name="configLocation" value="sqlMapConfig.xml"/> --> <property name="mapperLocations" value="com/dao/mapper/*.xml"/> </bean>
4.掃描全部dao層接口
<!-- 掃描所有dao --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.dao" /> <!-- 單數(shù)據(jù)源可以不寫sqlSessionFactoryBeanName屬性 --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> </bean>
配置dao 層接口與 mapper文件
dao接口
public interface UserDao {
public List<User> selAll();
}
mapperXML文件
<mapper namespace="com.dao.UserDao"> <select id="selAll" resultType="com.entity.User"> select * from user </select> </mapper>
測試
@Test
public void selAll() {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = context.getBean(UserDao.class);
List<User> list = userDao.selAll();
System.out.println(list);
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java并發(fā)編程必備之Synchronized關(guān)鍵字深入解析
本文我們深入探索了Java中的Synchronized關(guān)鍵字,包括其互斥性和可重入性的特性,文章詳細(xì)介紹了Synchronized的三種使用方式:修飾代碼塊、修飾普通方法和修飾靜態(tài)方法,感興趣的朋友一起看看吧2025-04-04
spring?boot實現(xiàn)圖片上傳到后臺的功能(瀏覽器可直接訪問)
這篇文章主要介紹了spring?boot實現(xiàn)圖片上傳到后臺的功能(瀏覽器可直接訪問),需要的朋友可以參考下2022-04-04
Java多線程提交按照時間順序獲取線程結(jié)果詳解流程
在工作中是否存在這樣的場景,多個線程提交執(zhí)行,你不想全部線程執(zhí)行結(jié)束了獲取結(jié)果,而是有線程完成返回結(jié)果就獲取消費。本文提供該場景的工具類,可以直接用哦2021-11-11
java基礎(chǔ)之Integer與int類型輸出示例解析
這篇文章主要為大家介紹了java基礎(chǔ)之Integer與int類型輸出示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
javax.mail.SendFailedException: Sending failed問題原因
這篇文章主要介紹了javax.mail.SendFailedException: Sending failed問題原因,需要的朋友可以參考下2015-05-05
淺談spring中isolation和propagation的用法
這篇文章主要介紹了淺談spring中isolation 和propagation的用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07

