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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatis入门配置——基于xml配置 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.下載mybatis配置文件,以及數(shù)據(jù)庫(kù)驅(qū)動(dòng)文件,最好配置日志文件log4j可以方便測(cè)試查看日志:

mybatis配置文件以及l(fā)og4j日志配置下載鏈接:

http://download.csdn.net/download/qi_ming88/10211018

日志配置文件log4j.xml以及數(shù)據(jù)庫(kù)驅(qū)動(dòng)文件:

http://download.csdn.net/download/qi_ming88/10211025

2.兩個(gè)重要的配置文件mybatis配置文件,sql映射文件,詳細(xì)配置可以查看mybatis開(kāi)發(fā)文檔:

mybatis配置文件:

自定義修改開(kāi)發(fā):

<?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連接數(shù)據(jù)數(shù)據(jù)源 --><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><!-- 將我們寫(xiě)好的sql的映射文件(EmployeeMapping.xml)一定要注冊(cè)到全局變量中 --><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語(yǔ)句,直接單獨(dú)出來(lái) --> <!--namespace:名稱(chēng)空間 ,設(shè)置sql語(yǔ)句接口全類(lèi)名,mybatis會(huì)實(shí)現(xiàn)動(dòng)態(tài)綁定 id:唯一標(biāo)識(shí) ,改為接口的id resultType:返回值類(lèi)型 #{id}:從傳過(guò)來(lái)的參數(shù)中取出id值public Employee getEmpById(Integer id);--> <select id="getEmpById" resultType="com.qiming.mybatis.beans.Employee"><!-- 查詢(xún)?cè)摬粚?duì)應(yīng)的bean的字段起別名last_name lastName -->select id,last_name lastName,gender,email from tbl_employeewhere id =#{id} </select>

3.在java中配置測(cè)試連接mysql數(shù)據(jù),具體步驟查看注釋,有兩種連接sql配置文件的方式,一種是直接調(diào)用sql配置文件:
openSession.selectOne("com.qiming.mubatis.EmployeeMapper.selectEmp", 1)

另一種是采用動(dòng)態(tài)接口綁定的方法(推薦):

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代表和數(shù)據(jù)庫(kù)的一次會(huì)話,用完必須關(guān)閉,
  • 3.SqlSession和connection一樣都是非線程安全,每次使用都有應(yīng)該去獲取新的對(duì)象
  • 4.mapper接口沒(méi)有實(shí)現(xiàn)類(lèi),但是mybatis會(huì)為接口生成一個(gè)代理對(duì)象
  • (將接口和xml進(jìn)行綁定)
  • EmployeeMapper mapper = openSession.getMapper(EmployeeMapper.class);
  • 5.兩個(gè)重要的配置文件:
  • mybatis的全局配置文件:包含數(shù)據(jù)庫(kù)的連接池,事務(wù)管理器信息。。。系統(tǒng)運(yùn)行環(huán)境信息
  • sql映射文件:保存每一sql語(yǔ)句的映射信息,將sql語(yǔ)句抽取出來(lái)
  • @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.根據(jù)MyBatis的xml配置文件(全局配置文件),創(chuàng)建一個(gè)SqlSessionFactory * 有關(guān)數(shù)據(jù)源一些運(yùn)行環(huán)境信息 * 2.sql映射文件,配置了每一個(gè)sql,以及sql的封裝規(guī)則等* 3.將sql映射文件注冊(cè)在全局配置文件中* 4.寫(xiě)代碼:* 1)、根據(jù)全局配置文件得到SqlSessionFactory* 2)、使用sqlSessionFactory工廠,獲取到sqlSession對(duì)象使用它來(lái)執(zhí)行增刪查改* 一個(gè)sqlSession就是代表和數(shù)據(jù)庫(kù)的一次會(huì)話,用完關(guān)閉* 3)、使員工sql的唯一標(biāo)識(shí)來(lái)告訴MyBatis執(zhí)行哪一個(gè)sql,sql都是保存在sql映射文件中的。(mybatis單獨(dú)把sql語(yǔ)句抽取出來(lái))* * * @throws IOException* */ @Test public void test() throws IOException {SqlSessionFactory sessionFactory=getSqlSessionFactory();// 2.獲取sqlSessionFactory實(shí)例,能直接執(zhí)行已經(jīng)映射的sql語(yǔ)句// sql的唯一標(biāo)識(shí)id="selectEmp":statement Unique identifier matching the// statement to use.parameter A// 執(zhí)行sql要用的參數(shù):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();}}/*** 第二種獲取數(shù)據(jù)的方法,通過(guò)接口動(dòng)態(tài)綁定* @throws IOException*/ @Test public void test01() throws IOException{ //1.獲取sqlSessionFactory對(duì)象SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();//2.獲取SqlSession對(duì)象SqlSession openSession = sqlSessionFactory.openSession();try {//3.獲取接口的實(shí)現(xiàn)類(lèi)對(duì)象,//會(huì)為接口自動(dòng)創(chuàng)建一個(gè)代理對(duì)象,代理對(duì)象去執(zhí)行增刪改查方法//獲取MapperProxy代理對(duì)象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對(duì)象

SqlSessionFactory sqlSessionFactory=getSqlSessionFactory();

//2.獲取SqlSession對(duì)象

SqlSession openSession = sqlSessionFactory.openSession();

如何實(shí)現(xiàn)動(dòng)態(tài)接口綁定:

項(xiàng)目文件目錄結(jié)構(gòu):
將所有配置文件放在源文件夾conf下,一般后期開(kāi)發(fā)會(huì)將所有相關(guān)文件放在conf中,在src與conf源文件下都創(chuàng)建一個(gè)同名的dao包,src下的dao包放在sql配置文件的接口,conf的dao包放置sql配置文件,并且sql配置接口名與sql配置文件必須同名,因?yàn)楹笃陂_(kāi)發(fā)都是使用mappers標(biāo)簽用package標(biāo)簽自動(dòng)掃描首頁(yè)接口: ,在conf與src的同名包是自動(dòng)封裝成同一個(gè)包。

配置好接口與文件之后,sql配置文件的命名空間設(shè)置sql接口全類(lèi)名:

完成以上配置mybatis就會(huì)自動(dòng)生成代理對(duì)象,去執(zhí)行sql語(yǔ)句

總結(jié)

以上是生活随笔為你收集整理的mybatis入门配置——基于xml配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。