主要代碼
1、MyBatis-config.xml*
<!-- 第一種方式:設置properties -->
<configuration>
<properties resource="database.properties"/>
<!-- 注: 如果兩種方式同時進行設置,則會先執行property子節點中的配的值,
然後會去讀取resource的文件中的值,如果有相同的屬性名則會覆蓋property,
結論:resource引入的文件屬性值的優先級高於property子節點中配的值-->
<properties>
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/smbms"/>
<property name="username" value="root"/>
<property name="password" value="1998"/>
</properties>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<!-- <typeAlias type="cn.smbms.pojo.User" alias="user"/> -->
<package name="cn.smbms.pojo"/>
</typeAliases>
<!--通過default屬性指定一個默認運行環境ID -->
<environments default="development">
<environment id="development">
<!-- 事務管理器兩種 JDBC/MANAGED-->
<transactionManager type="JDBC"/>
<!-- 數據源類型三種UNPOOLED | POOLED | JNDI -->
<!-- POOLED 使用的是連接池的原理-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 將mapper文件加入到配置文件中 -->
<mappers>
<!-- 第一種方式:使用類資源路徑獲取資源-->
<mapper resource="cn/smbms/dao/user/UserMapper.xml"></mapper>
<mapper resource="cn/smbms/dao/provider/ProviderMapper.xml"></mapper>
<!-- 第二種方式:使用url獲取資源 -->
<!-- <mapper url="file:///D:/UserMapper.xml"></mapper> -->
</mappers>
2、UserMapper.xml(實體類User表與sql語句之間的映射)
3、單元測試代碼
以上代碼主要做對User用戶表的個數進行統計,並輸出統計結果,第一次運行報了下面這個錯。
- (0 ms) - 2019-1-3 11:01:57DEBUG Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImpl’ adapter.
- (4 ms) - 2019-1-3 11:01:57DEBUG Logging initialized using ‘class org.apache.ibatis.logging.log4j.Log4jImpl’ adapter.
- (18 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
- (18 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
- (19 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
- (19 ms) - 2019-1-3 11:01:57DEBUG PooledDataSource forcefully closed/removed all connections.
在進行程序調試後,發現程序在執行到以下這句
跳出了try塊進入異常處理catch塊,所以初步判斷是MyBatis-config.xml文件編寫有誤,在xml文件更改正確後,重新執行方法時,控制檯又報出以下錯誤,並且項目名一直標紅色的×角標,但是項目中實際上沒有報錯的文件。
錯誤原因
在項目中對java文件或xml文件進行修改後,造成已編譯的class文件與現有java文件不匹配,需要重新編譯
解決方案
右擊項目–source–Clean Up—清除項目中已生成的class文件,重新編譯,刷新項目,如果問題還是沒有得到解決那就重啓eclipse或重啓電腦就ok了。