1.下載mybatis配置文件,以及數據庫驅動文件,最好配置日志文件log4j可以方便測試查看日志:
mybatis配置文件以及log4j日志配置下載鏈接:
http://download.csdn.net/download/qi_ming88/10211018
日志配置文件log4j.xml以及數據庫驅動文件:
http://download.csdn.net/download/qi_ming88/10211025
2.兩個重要的配置文件mybatis配置文件,sql映射文件,詳細配置可以查看mybatis開發文檔:
mybatis配置文件:
自定義修改開發:
<?xml version="1.0" encoding="UTF-8" ?>
br>PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><!-- 配置jdbc連接數據數據源 --><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis" /><property name="username" value="root" /><property name="password" value="123456" /></dataSource></environment>
</environments><!-- 將我們寫好的sql的映射文件(EmployeeMapping.xml)一定要注冊到全局變量中 --><mappers><mapper resource="EmployeeMapping.xml" />
</mappers>
sql映射文件:
自定義修改sql文件:
<?xml version="1.0" encoding="UTF-8" ?>
br> PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 映射sql語句,直接單獨出來 -->
<!--namespace:名稱空間 ,設置sql語句接口全類名,mybatis會實現動態綁定
id:唯一標識 ,改為接口的id
resultType:返回值類型
#{id}:從傳過來的參數中取出id值public Employee getEmpById(Integer id);-->
<select id="getEmpById" resultType="com.qiming.mybatis.beans.Employee"><!-- 查詢該不對應的bean的字段起別名last_name lastName -->select id,last_name lastName,gender,email from tbl_employeewhere id =#{id}
</select>
3.在java中配置測試連接mysql數據,具體步驟查看注釋,有兩種連接sql配置文件的方式,一種是直接調用sql配置文件:
openSession.selectOne("com.qiming.mubatis.EmployeeMapper.selectEmp", 1)
另一種是采用動態接口綁定的方法(推薦):
openSession.getMapper(EmployeeMapper.class);
package com.qiming.mybatis.test;
import java.io.IOException;
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;
import org.junit.Test;
import com.qiming.mybatis.beans.Employee;
import com.qiming.mybatis.dao.EmployeeMapper;
/**
- 1.接口式編程
- 原生: Dao ===》DaoImpl
- mybatis: Mapper==>xxMapper.xml
-
- 2.SqlSession代表和數據庫的一次會話,用完必須關閉,
- 3.SqlSession和connection一樣都是非線程安全,每次使用都有應該去獲取新的對象
- 4.mapper接口沒有實現類,但是mybatis會為接口生成一個代理對象
- (將接口和xml進行綁定)
- EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
- 5.兩個重要的配置文件:
- mybatis的全局配置文件:包含數據庫的連接池,事務管理器信息。。。系統運行環境信息
- sql映射文件:保存每一sql語句的映射信息,將sql語句抽取出來
-
- @author ming
*
*/
public class MyBatisTest {
public SqlSessionFactory getSqlSessionFactory() throws IOException{String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);return new SqlSessionFactoryBuilder().build(inputStream);}/*** 1.根據MyBatis的xml配置文件(全局配置文件),創建一個SqlSessionFactory * 有關數據源一些運行環境信息 * 2.sql映射文件,配置了每一個sql,以及sql的封裝規則等* 3.將sql映射文件注冊在全局配置文件中* 4.寫代碼:* 1)、根據全局配置文件得到SqlSessionFactory* 2)、使用sqlSessionFactory工廠,獲取到sqlSession對象使用它來執行增刪查改* 一個sqlSession就是代表和數據庫的一次會話,用完關閉* 3)、使員工sql的唯一標識來告訴MyBatis執行哪一個sql,sql都是保存在sql映射文件中的。(mybatis單獨把sql語句抽取出來)* * * @throws IOException* */
@Test
public void test() throws IOException {SqlSessionFactory sessionFactory=getSqlSessionFactory();// 2.獲取sqlSessionFactory實例,能直接執行已經映射的sql語句// sql的唯一標識id="selectEmp":statement Unique identifier matching the// statement to use.parameter A// 執行sql要用的參數:parameter object to pass to the statement.SqlSession openSession =sessionFactory.openSession();try {Employee employee = openSession.selectOne("com.qiming.mubatis.EmployeeMapper.selectEmp", 1);System.out.println(employee);} finally {openSession.close();}}/*** 第二種獲取數據的方法,通過接口動態綁定* @throws IOException*/
@Test
public void test01() throws IOException{
//1.獲取sqlSessionFactory對象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();//2.獲取SqlSession對象SqlSession openSession = sqlSessionFactory.openSession();try {//3.獲取接口的實現類對象,//會為接口自動創建一個代理對象,代理對象去執行增刪改查方法//獲取MapperProxy代理對象EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);Employee employee = mapper.getEmpById(1);System.out.println(mapper);System.out.println(employee);
} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();
}
finally {openSession.close();
}
}
}
文檔基本步驟:
//1.獲取sqlSessionFactory對象
SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();
//2.獲取SqlSession對象
SqlSession openSession = sqlSessionFactory.openSession();
如何實現動態接口綁定:
項目文件目錄結構:
將所有配置文件放在源文件夾conf下,一般后期開發會將所有相關文件放在conf中,在src與conf源文件下都創建一個同名的dao包,src下的dao包放在sql配置文件的接口,conf的dao包放置sql配置文件,并且sql配置接口名與sql配置文件必須同名,因為后期開發都是使用mappers標簽用package標簽自動掃描首頁接口: ,在conf與src的同名包是自動封裝成同一個包。
配置好接口與文件之后,sql配置文件的命名空間設置sql接口全類名:
完成以上配置mybatis就會自動生成代理對象,去執行sql語句
總結
以上是生活随笔為你收集整理的mybatis入门配置——基于xml配置的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。