您好,登錄后才能下訂單哦!
本文為大家解決了Mybatis-Spring 連接 MySQL8.0 的配置步驟出錯問題,供大家參考,具體內容如下
環境以及配置文件
測試路徑如下圖
配置db.properties
配置db.properties中填寫以下內容
# 驅動名這樣寫 jdbc.driver=com.mysql.cj.jdbc.Driver # url這樣寫 jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true # 數據庫用戶名 jdbc.username=root # 數據密碼 jdbc.password=password
這里有一個錯誤點, 就是用戶名的key用的是username, 這樣的話, 在applicationContext.xml中配置數據源時用的是${username}, 這樣會導致一個問題, 因為XML的表達式中${username}, 代表電腦環境路徑下的username!!! 就是說用的是你電腦的用戶名, 不是數據庫的用戶名!!! 總而言之, 別用username當key名 我用的是jdbc.username.
配置applicationContext.xml
1.在applicationContext.xml中, 引入db.properties 文件.
<context:property-placeholder location="db.properties"/>
2.配置數據源
<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"/> <!-- 寫一些數據庫的配置, 因為我沒用到, 所以用不著 --> <!-- <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" /> <!-- 單數據源可以不寫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); }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。