亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mybatis引入與使用的圖文步驟

 更新時(shí)間:2023年09月08日 10:35:22   作者:Mointor  
本文主要介紹了Mybatis引入與使用的圖文步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、新建項(xiàng)目

使用IDEA,新建項(xiàng)目

注意:這里創(chuàng)建的是Maven項(xiàng)目

二、數(shù)據(jù)準(zhǔn)備

因?yàn)镸ybatis是操作數(shù)據(jù)庫(kù)的框架,需要操作數(shù)據(jù)庫(kù),這里我們選用Mysql數(shù)據(jù)庫(kù),使用數(shù)據(jù)庫(kù)腳本初始化一下數(shù)據(jù)。

-- 如果數(shù)據(jù)庫(kù)不存在則創(chuàng)建數(shù)據(jù)庫(kù)
CREATE DATABASE IF NOT EXISTS demo DEFAULT CHARSET utf8;
-- 切換數(shù)據(jù)庫(kù)
USE demo;
-- 創(chuàng)建表
CREATE TABLE T_USER(
  ID INT PRIMARY KEY,
  USERNAME VARCHAR(32) NOT NULL,
  AGE INT NOT NULL 
);

上面的腳本是創(chuàng)建一個(gè)名稱為demo的數(shù)據(jù)庫(kù),并在庫(kù)中新建一個(gè)T_USER表。

三、引入Mybatis

在pom文件中添加mybatis依賴

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

這里使用的是3.4.5版本,如果想使用mybatis的其他版本可以在Maven倉(cāng)庫(kù)中查詢。

由于要連接數(shù)據(jù)庫(kù)進(jìn)行使用,這里引入Mysql的驅(qū)動(dòng),在Mysql數(shù)據(jù)庫(kù)上進(jìn)行操作數(shù)據(jù):

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.49</version>
</dependency>

四、配置Mybatis

在resources下新建mybatis-config.xml配置文件,并完成配置

<?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">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${driver}"/>
                <property name="url" value="jdbc:mysql://${ip}:${port}/${database}?useUnicode=true&amp;useSSL=false&amp;characterEncoding=utf8"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

需要根據(jù)實(shí)際環(huán)境替換配置中的變量:

  • ${driver}:數(shù)據(jù)庫(kù)驅(qū)動(dòng),mysql的數(shù)據(jù)庫(kù)驅(qū)動(dòng)是org.gjt.mm.mysql.Driver
  • ${ip}:數(shù)據(jù)庫(kù)的IP地址
  • ${port}:數(shù)據(jù)庫(kù)的端口
  • ${username}:連接數(shù)據(jù)庫(kù)的用戶名
  • ${password}:連接數(shù)據(jù)庫(kù)的密碼

五、讀取數(shù)據(jù)庫(kù)信息

// 讀取mybatis配置文件
InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream("mybatis-config.xml");
// 根據(jù)配置創(chuàng)建SqlSession工廠
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder()
        .build(inputStream);
SqlSession sqlSession = null;
try {
    // 創(chuàng)建SqlSession
    sqlSession = sqlSessionFactory.openSession();
    // 獲取連接
    Connection connection = sqlSession.getConnection();
    // 獲取數(shù)據(jù)庫(kù)元數(shù)據(jù)
    DatabaseMetaData databaseMetaData = connection.getMetaData();
    // 獲取數(shù)據(jù)庫(kù)名稱
    System.out.println("database product name: " + databaseMetaData.getDatabaseProductName());
    // 獲取數(shù)據(jù)庫(kù)版本
    System.out.println("database product version: " + databaseMetaData.getDatabaseProductVersion());
    // 獲取數(shù)據(jù)庫(kù)主版本
    System.out.println("database major version: " + databaseMetaData.getDatabaseMajorVersion());
    // 獲取數(shù)據(jù)庫(kù)小版本
    System.out.println("database minor version: " + databaseMetaData.getDatabaseMinorVersion());
} catch (SQLException e) {
    e.printStackTrace();
} finally {
    // 關(guān)閉會(huì)話
    if(Objects.nonNull(sqlSession)) {
        sqlSession.close();
    }
}

注意:SqlSession對(duì)象需要關(guān)閉,不然會(huì)一直占用數(shù)據(jù)庫(kù)連接

 上面的代碼運(yùn)行的結(jié)果如下:

結(jié)果中打印的內(nèi)容與我的數(shù)據(jù)庫(kù)信息相符。

到此這篇關(guān)于Mybatis引入與使用的圖文步驟的文章就介紹到這了,更多相關(guān)Mybatis引入與使用 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java IO和NIO的基本概念和API詳解

    Java IO和NIO的基本概念和API詳解

    JavaIO是基于流的阻塞式I/O,適用于低并發(fā)場(chǎng)景;JavaNIO是基于通道和緩沖區(qū)的非阻塞式I/O,適用于高并發(fā)場(chǎng)景
    2025-03-03
  • Java實(shí)現(xiàn)刪除PDF中指定頁(yè)面

    Java實(shí)現(xiàn)刪除PDF中指定頁(yè)面

    這篇文章主要為大家詳細(xì)介紹了如何使用一個(gè)免費(fèi)的國(guó)產(chǎn)Java庫(kù)來(lái)刪除PDF中的指定頁(yè)面或者刪除PDF中的空白頁(yè),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • Spring Cloud Gateway不同頻率限流的解決方案(每分鐘,每小時(shí),每天)

    Spring Cloud Gateway不同頻率限流的解決方案(每分鐘,每小時(shí),每天)

    SpringCloud Gateway 是 Spring Cloud 的一個(gè)全新項(xiàng)目,它旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單有效的統(tǒng)一的 API 路由管理方式。這篇文章主要介紹了Spring Cloud Gateway不同頻率限流(每分鐘,每小時(shí),每天),需要的朋友可以參考下
    2020-10-10
  • 一文帶你了解Java萬(wàn)物之基之Object類

    一文帶你了解Java萬(wàn)物之基之Object類

    Java是一門(mén)天然的面向?qū)ο蟮恼Z(yǔ)言。而所有我們手動(dòng)創(chuàng)造出來(lái)的類,都繼承于同一個(gè)類,即Object類。本文將通過(guò)示例為大家詳細(xì)介紹一下Java中的Object類,需要的可以參考一下
    2022-03-03
  • 鄰接表無(wú)向圖的Java語(yǔ)言實(shí)現(xiàn)完整源碼

    鄰接表無(wú)向圖的Java語(yǔ)言實(shí)現(xiàn)完整源碼

    這篇文章主要介紹了鄰接表無(wú)向圖的Java語(yǔ)言實(shí)現(xiàn)完整源碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Java泛型類型通配符和C#對(duì)比分析

    Java泛型類型通配符和C#對(duì)比分析

    下面小編就為大家?guī)?lái)一篇Java泛型類型通配符和C#對(duì)比分析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • JAVA的發(fā)展前景如何好不好自學(xué)

    JAVA的發(fā)展前景如何好不好自學(xué)

    這篇文章主要介紹了JAVA的發(fā)展前景如何好不好自學(xué),很多朋友想自學(xué)java不知道好不好學(xué),能不能學(xué)會(huì),今天小編給大家分享一篇教程關(guān)于java的發(fā)展前景的文章,需要的朋友可以參考下
    2020-06-06
  • SpringBoot中配置Web靜態(tài)資源路徑的方法

    SpringBoot中配置Web靜態(tài)資源路徑的方法

    這篇文章主要介紹了SpringBoot中配置Web靜態(tài)資源路徑的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java結(jié)構(gòu)型模式之橋接模式詳解

    Java結(jié)構(gòu)型模式之橋接模式詳解

    橋接模式是一種很實(shí)用的結(jié)構(gòu)型模式,如果系統(tǒng)中某個(gè)類存在兩個(gè)獨(dú)立變化的維度,通過(guò)橋接模式將這兩個(gè)維度分離出來(lái),使兩者可以獨(dú)立擴(kuò)展
    2023-02-02
  • Java中Set集合的使用和底層原理解析

    Java中Set集合的使用和底層原理解析

    這篇文章主要介紹了Java中Set集合的使用和底層原理,Set集合的功能上基本上與Collection的API一致, Set集合沒(méi)有擴(kuò)展額外的API,本文通過(guò)示例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-12-12

最新評(píng)論