1. 程式人生 > >mybatis框架的搭建

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框架的簡單使用完成。

內容中是一個實列,如要用到自己的專案裡還需簡單修改。