最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis環(huán)境配置及測(cè)試詳解

 更新時(shí)間:2021年01月18日 10:29:27   作者:Pumpkin  
這篇文章主要介紹了Mybatis環(huán)境配置及測(cè)試詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

mybatis 3 | 參考文檔

MyBatis 是一款優(yōu)秀的持久層框架,它支持自定義 SQL、存儲(chǔ)過程以及高級(jí)映射。MyBatis 免除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的工作。

MyBatis 可以通過簡單的 XML 或注解來配置和映射原始類型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 對(duì)象)為數(shù)據(jù)庫中的記錄。

一、mybatis環(huán)境配置

1.通過maven的pom.xml文件引入mybatis需要的包

在其<dependencies></dependencies>標(biāo)簽中添加如下代碼

 <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
 </dependency>

2.在src/main/resources下新建mybatis-config.xml文件

并進(jìn)行xml文件和config的dtd文件的聲明

  <?xml version="1.0" encoding="UTF-8" ?>
  <!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

3.在mybatis-config.xml文件中的<configuration></configuration>中對(duì)數(shù)據(jù)庫進(jìn)行配置

<configuration>
  <settings>
<!--    開啟駝峰命名轉(zhuǎn)換,若底層數(shù)據(jù)庫表項(xiàng)為goods_ID,實(shí)體類為goodsId ,則自動(dòng)轉(zhuǎn)換-->
    <setting name="mapUnderscoreToCamelCase" value="true"/>
  </settings>
  <!-- 設(shè)置默認(rèn)指向的數(shù)據(jù)庫 -->
  <environments default="dev">
    <environment id="dev">
      <!-- 采用JDBC方式對(duì)數(shù)據(jù)庫事務(wù)進(jìn)行commit/rollback -->
      <transactionManager type="JDBC"></transactionManager>
      <!-- 采用連接池的方式管理數(shù)據(jù)庫連接  -->
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&amp;characterEncoding=UTF-8"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
      </dataSource>
    </environment>
  </environments>
</configuration>

4.通過SqlSessionFactory構(gòu)建SqlSession會(huì)話實(shí)例

每個(gè)基于 MyBatis 的應(yīng)用都是以一個(gè) SqlSessionFactory 的實(shí)例為核心的。SqlSessionFactory 的實(shí)例可以通過 SqlSessionFactoryBuilder 獲得。而 SqlSessionFactoryBuilder 則可以從 XML 配置文件或一個(gè)預(yù)先配置的 Configuration 實(shí)例來構(gòu)建出 SqlSessionFactory 實(shí)例。

從 XML 文件中構(gòu)建 SqlSessionFactory 的實(shí)例非常簡單,建議使用類路徑下的資源文件進(jìn)行配置。 但也可以使用任意的輸入流(InputStream)實(shí)例,比如用文件路徑字符串或 file:// URL 構(gòu)造的輸入流。MyBatis 包含一個(gè)名叫 Resources 的工具類,它包含一些實(shí)用方法,使得從類路徑或其它位置加載資源文件更加容易。

通常SqlSession是全局唯一的,通過MybatisUtils工具類減少重復(fù)代碼

public class MybatisUtils {
  //利用static靜態(tài) 屬于類而不屬于對(duì)象 , 保證全局唯一
  private static SqlSessionFactory sqlSessionFactory = null ;
  //利用靜態(tài)塊在初始化類時(shí)實(shí)力話SqlSessionFactory
  static {
    Reader reader = null;
    try {
      reader = Resources.getResourceAsReader("mybatis-config.xml");
      sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader) ;
    } catch (IOException e) {
      e.printStackTrace();
      //初始化過程中出現(xiàn)的異常
      throw new ExceptionInInitializerError(e) ;
    }
  }

  /**
   * 創(chuàng)建一個(gè)新的sqlsession對(duì)象
   * @return sqlsession對(duì)象
   * */

  public static SqlSession openSession(){
    return sqlSessionFactory.openSession() ;
  }

  public static void closeSession(SqlSession sqlSession){
    if(sqlSession != null ){
      sqlSession.close();
    }
  }

}

5.通過SqlSession對(duì)數(shù)據(jù)庫進(jìn)行操作

在entity包下創(chuàng)建要操作的數(shù)據(jù)庫表對(duì)應(yīng)的實(shí)體類(必須使用駝峰命名和設(shè)置get和set方法),同時(shí)在resources目錄下創(chuàng)建mappers目錄,在mappers目錄下創(chuàng)建與該實(shí)體類同名的xml文件,在對(duì)其進(jìn)行xml聲明和mapperdtd文件聲明(注意與mybatis-config.xml的dtd文件聲明的區(qū)別)

<?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">

然后在mybatis-config.xml文件引入該實(shí)體與數(shù)據(jù)庫的映射。即在其<mappers></mappers>標(biāo)簽中添加映射xml文件路徑

 <mappers>
    <mapper resource="mappers/goods.xml" />
    <mapper resource="mappers/goods_detail.xml" />
 </mappers>

當(dāng)數(shù)據(jù)庫列字段名為多單詞且用"_"拼接時(shí),還需在其<configuration></configuration>標(biāo)簽中開啟駝峰命名轉(zhuǎn)換,使Mybatis自動(dòng)完成映射。

 <settings>
<!--    開啟駝峰命名轉(zhuǎn)換,若底層數(shù)據(jù)庫表項(xiàng)為goods_ID,實(shí)體類為goodsId ,則自動(dòng)轉(zhuǎn)換-->
    <setting name="mapUnderscoreToCamelCase" value="true"/>
 </settings>

到此為止,mybatis需要的配置就已全部完成。

運(yùn)行程序測(cè)試結(jié)果

在 src 源碼目錄下建立 一個(gè)類叫作:HelloWord, 來運(yùn)行測(cè)試配置環(huán)境是否成功,具體代碼如下示:

import java.io.Reader;

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 com.yiibai.mybatis.models.*;

/**
 * 
 * @author yiibai
 * @copyright //www.fzitv.net
 * @date 2015/09/22
 */
public class HelloWord {
 private static SqlSessionFactory sqlSessionFactory;
 private static Reader reader;

 static {
 try {
  reader = Resources.getResourceAsReader("config/Configure.xml");
  sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
 } catch (Exception e) {
  e.printStackTrace();
 }
 }
 public static SqlSessionFactory getSession() {
 return sqlSessionFactory;
 }
 /**
 * @param args
 */
 public static void main(String[] args) {
 // TODO Auto-generated method stub
 SqlSession session = sqlSessionFactory.openSession();
 try {
  User user = (User) session.selectOne(
   "com.yiibai.mybatis.models.UserMapper.GetUserByID", 1);
  if(user!=null){
  String userInfo = "名字:"+user.getName()+", 所屬部門:"+user.getDept()+", 主頁:"+user.getWebsite();
  System.out.println(userInfo);
  }
 } finally {
  session.close();
 }
 }
}

現(xiàn)在運(yùn)行這個(gè)程序,不是得到查詢結(jié)果了?正確的輸出結(jié)果應(yīng)該如下:

名字:yiibai, 所屬部門:Tech, 主頁://www.fzitv.net

到此這篇關(guān)于Mybatis環(huán)境配置及測(cè)試詳解的文章就介紹到這了,更多相關(guān)Mybatis環(huán)境配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud Alibaba框架介紹

    SpringCloud Alibaba框架介紹

    spring cloud是一個(gè)基于springboot實(shí)現(xiàn)的微服務(wù)架構(gòu)開發(fā)工具,目前主流的SpringCloud分為SpringCloud Netflix和阿里云開源的SpringCloud Alibaba兩個(gè)系列,本文主要介紹SpringCloud Alibaba框架,感興趣的朋友可以參考一下
    2023-04-04
  • 使用阿里云OSS的服務(wù)端簽名后直傳功能的流程分析

    使用阿里云OSS的服務(wù)端簽名后直傳功能的流程分析

    這篇文章主要介紹了使用阿里云OSS的服務(wù)端簽名后直傳功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 詳解Spring AOP

    詳解Spring AOP

    本文非常詳細(xì)講解了Spring AOP,本篇文章通過大量的代碼,講解了Spring AOP的使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 解決try-catch捕獲異常信息后Spring事務(wù)失效的問題

    解決try-catch捕獲異常信息后Spring事務(wù)失效的問題

    這篇文章主要介紹了解決try-catch捕獲異常信息后Spring事務(wù)失效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Spring Cache整合Redis實(shí)現(xiàn)方法詳解

    Spring Cache整合Redis實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Spring Cache整合Redis實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 教你如何輕松學(xué)會(huì)Java快慢指針法

    教你如何輕松學(xué)會(huì)Java快慢指針法

    要想把搬磚的效率提高,我們肯定是逃不掉數(shù)據(jù)結(jié)構(gòu)和算法知識(shí)的,這不,可愛的小編今天就和大家一起學(xué)習(xí)來了,今天給大家分享的是快慢指針,那啥是快慢指針呢,文中有非常詳細(xì)的解釋,需要的朋友可以參考下
    2021-06-06
  • java文件上傳(單文件 多文件)與刪除

    java文件上傳(單文件 多文件)與刪除

    本文主要分享了java文件上傳(單文件 多文件)與刪除的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • Java注解詳解之@Override注解

    Java注解詳解之@Override注解

    這篇文章主要給大家介紹了關(guān)于Java注解之@Override注解的相關(guān)資料,@Override是Java中的一個(gè)注解,表示一個(gè)方法是重寫(Override)了父類中的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • 解決idea中java出現(xiàn)無效的源發(fā)行版問題

    解決idea中java出現(xiàn)無效的源發(fā)行版問題

    這篇文章主要給大家介紹了關(guān)于解決idea中java出現(xiàn)無效的源發(fā)行版問題的相關(guān)資料,無效的源發(fā)行版是指IntelliJ IDEA無法正確識(shí)別和處理的源代碼版本,這可能是由于錯(cuò)誤的配置、缺少依賴項(xiàng)、不兼容的插件或其他問題導(dǎo)致的,需要的朋友可以參考下
    2024-01-01
  • Java中程序的運(yùn)行全過程

    Java中程序的運(yùn)行全過程

    這篇文章主要介紹了Java中程序的運(yùn)行全過程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評(píng)論

铜山县| 六枝特区| 清水河县| 昔阳县| 铜陵市| 建德市| 荣成市| 兰西县| 金昌市| 仪陇县| 霞浦县| 无极县| 五大连池市| 伊吾县| 巫山县| 新昌县| 大余县| 阿勒泰市| 乌兰察布市| 利津县| 新丰县| 敖汉旗| 洮南市| 武功县| 宝兴县| 淮阳县| 洞口县| 玉林市| 云龙县| 汾阳市| 犍为县| 远安县| 永寿县| 栖霞市| 红桥区| 山阴县| 屯门区| 阿鲁科尔沁旗| 阳朔县| 岑溪市| 马龙县|