mybatis框架的搭建
首先應該說到,mybatis是apache所屬的一個持久層框架,所謂持久層就是因為mybatis是為操作資料庫而製作的一種框架,而操作資料庫就是對資料永久性的修改,所以是持久層框架。
第一步,匯入mybatis的jar包和mysql的jar包。
第二步,核心配置檔案,檔名習慣寫為mybatis-config.xml。
其中配置程式碼為:
--------------------------------------------------------------------------程式碼開始---------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?><?xml version="1.0" encoding="UTF-8" ?>
<!-- dtd字尾檔案是標籤資訊驗證,沒有它就不會有標籤提示,
並且無法使用這些標籤,是xml檔案的一部分 -->
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<!-- 用連線池載入資料庫的資料 -->
<environment id="development">
<transactionManager type="JDBC"/> <!-- 交易管理型別 -->
<dataSource type="POOLED">
<!-- 我在這裡遇到一個問題,後面執行程式碼的時候,顯示錯誤no suit driver,後來發現是因為driver和url的值裡面有一個小小的空格,去掉就好了 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/school"/>
<property name="username" value="root"/>
<property name="password" value="abcd1234"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 載入mapper檔案 -->
<mapper resource="com/mapper/TeacherMapper.xml"/>
</mappers>
</configuration>
--------------------------------------------------------------------------程式碼結束---------------------------------------------------------------------
第三步,在com.mapper包下,寫一個檔案TeacherMapper.xml
檔案內容為:
--------------------------------------------------------------------------程式碼開始---------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="TeacherMapper">
<!-- 注意返回型別resultType的設定 -->
<select id="countTeacher" resultType="int">
select count(*) from teacher
</select>
</mapper>
--------------------------------------------------------------------------程式碼結束---------------------------------------------------------------------
第三步,測試和使用,寫一個main方法,內容為:
--------------------------------------------------------------------------程式碼開始---------------------------------------------------------------------
package com.test;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class test {
public static void main(String[] args) throws Exception{
//載入mybatis核心配置檔案
String resource = "mybaits-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
//建立會話工廠
//我在這裡遇到過一個問題就是,lib包下的包沒有起作用導致無法用那些類,因為我把手癢把lib資料夾名改為了libs
SqlSessionFactory sqlSessionFactory =new SqlSessionFactoryBuilder().build(inputStream);
//我在這裡遇到過一個問題就是,我把mybaits-config.xml核心配置檔案下的mapper暫時設定為空的,導致無法使用核心配置檔案
//開始一個會話
SqlSession session=sqlSessionFactory.openSession();
//selectOne()和select()的區別在於返回的資料條數不一樣
//括號內的引數寫完整比較好,否則mapper裡面多個名稱空間下使用同一個id就無法自動選擇了
int count=session.selectOne("TeacherMapper.countTeacher");
System.out.println(count);
//關閉會話
session.close();
}
}
--------------------------------------------------------------------------程式碼結束---------------------------------------------------------------------
到此,mybatis框架的簡單使用完成。
內容中是一個實列,如要用到自己的專案裡還需簡單修改。