日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatis入门配置——基于xml配置

發布時間:2025/3/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis入门配置——基于xml配置 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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配置的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。