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

IDEA使用Maven和MyBatis簡化數(shù)據(jù)庫連接的詳細(xì)過程

 更新時間:2025年09月15日 09:33:36   作者:counting money  
文章介紹了MyBatis框架的引入與基礎(chǔ)配置,涵蓋數(shù)據(jù)庫表創(chuàng)建、依賴管理(MyBatis、MySQL驅(qū)動、Junit、log4j)、實體類與接口編寫、SQL映射文件配置及SqlSessionFactory構(gòu)建,最終通過測試驗證了SQL查詢功能的正常運行,感興趣的朋友跟隨小編一起看看吧

一、引入MyBatis:

1.后端對于前端數(shù)據(jù)的處理和反饋大致分為三個層:controller層負(fù)責(zé)前后端交互,service層負(fù)責(zé)進行邏輯處理,Dao層也叫持久層,負(fù)責(zé)連接數(shù)據(jù)庫。

2.打開數(shù)據(jù)庫,創(chuàng)建一個新的數(shù)據(jù)庫并創(chuàng)建一個新的表來方便實驗(我取的數(shù)據(jù)庫名為“newtest”,表名為“student”的學(xué)生表)。在表中添加id、name、sex、age幾個字段并填寫數(shù)據(jù):

3.打開pom.配置文件,在dependencies標(biāo)簽中導(dǎo)入mybatis和mysql的相關(guān)包(不需要實際導(dǎo)入,只需要拿到“坐標(biāo)”):

具體引入的內(nèi)容

(1). 引入MyBatis的3.4.5的版本的坐標(biāo),保證是MyBatis

(2). 引入MySQL驅(qū)動的jar包,5.1.6版本,保證能夠連接到數(shù)據(jù)庫

(3). 引入Junit單元測試的jar包

(4). 引入log4j的jar包,1.2.12版本(需要引入log4j.properties的配置文件)

在dependencies中填寫

<dependencies>
<!--mybatis核心包--> 
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--mysql驅(qū)動包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- 單元測試 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>

導(dǎo)入成功后,點擊右上角的M標(biāo)志刷新:

二、測試:

1.創(chuàng)建實體類:數(shù)據(jù)庫映射到程序中還需要借助entity層,用于存儲對應(yīng)數(shù)據(jù)庫中的信息(類對表,屬性對應(yīng)字段)。在main-->java-->com.newFile目錄下創(chuàng)建一個“dao”包和“entity”包。在entity中創(chuàng)建students實體類(表名與類名無關(guān),但字段名與屬性名相關(guān))。

填寫屬性和封裝方法:

private int id;
    private String name;
    private int age;
    private String sex;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    //toString方法
    @Override
    public String toString() {
        return "students{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }

2.在dao中編寫一個接口作為規(guī)范:在dao目錄下創(chuàng)建一個名為“StudentDao”的接口文件(名字可以任?。覀兿染帉懸粋€findAll方法測試:

package com.newFile.dao;
//引入students包
import com.newFile.entity.students;
//引入list
import java.util.List;
public interface StudentDao {
    //定義findAll方法查找所有內(nèi)容
    public List<students> findAll();
}

3.創(chuàng)建接口的實現(xiàn)類:在main目錄下創(chuàng)建一個resources資源目錄,資源目錄中存放著所有接口的實現(xiàn)類。再在resources中創(chuàng)建一個mapper目錄存放接口的實現(xiàn)類(方便后續(xù)配置),在mapper目錄下創(chuàng)建一個xml配置文件并通過配置文件創(chuàng)建接口的實現(xiàn)類,將配置文件命名為“StudentDao”并寫入:

<?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"><mapper namespace="com.newFile.dao.StudentDao"></mapper>

再在resources目錄下創(chuàng)建一個主配置文件命名為“SqlMapConfig.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="mysql">
        <environment id="mysql">
            <!--配置事務(wù)的類型,使用本地事務(wù)策略-->
            <transactionManager type="JDBC"></transactionManager>
            <!--是否使用連接池 POOLED表示使用鏈接池,UNPOOLED表示不使用連接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--student為數(shù)據(jù)庫名-->
                <property name="url" value="jdbc:mysql://localhost:3306/newtest"/>
                <!--這里寫你mysql數(shù)據(jù)庫的用戶名和密碼-->
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--實現(xiàn)類的路徑-->
        <mapper resource="mapper/StudentDao.xml"></mapper>
    </mappers>
</configuration>

在接口實現(xiàn)文件的“mapper”標(biāo)簽中就可以寫sql語句了,實現(xiàn)的是findAll方法:

<select id="findAll" resultType="com.newFile.entity.students">
    select * from student
</select>

其中:(應(yīng)該傳入包裝類型的類全名)

1.id表示接口中定義的對應(yīng)方法

2.parameterType表示方法需要傳入的參數(shù)

3.resultType表示返回值的類型

4.測試:

MyBatis官網(wǎng):從 XML 中構(gòu)建 SqlSessionFactory

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

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

SqlSession 是 MyBatis 框架的核心接口,用于執(zhí)行 SQL 語句、管理事務(wù)以及獲取映射器(Mapper)實例,是應(yīng)用程序與持久層交互的直接入口。

1.在Test測試類中創(chuàng)建run方法:

    public void run() throws IOException {
        //主配置文件路徑
        String resourcePath = "SqlMapConfig.xml";
        //加載主配置文件,為了拿到SqlSessionFactory
        InputStream inputStream = Resources.getResourceAsStream(resourcePath);
        //拿到SqlSessionFactory對象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //創(chuàng)建SqlSession
        SqlSession session = sqlSessionFactory.openSession();
        //通過SqlSession對象創(chuàng)建studentDao接口的代理對象
        studentDao mapper = session.getMapper(studentDao.class);
        //通過代理訪問接口中的方法
        List<students> arr = mapper.findAll();
        //打印輸出
        for(students student : arr){
            System.out.println(student);
        }
    }

2.創(chuàng)建Test對象并執(zhí)行run方法:

Test test = new Test();test.run();

輸出結(jié)果:

第一個sql查詢就成功了。

到此這篇關(guān)于IDEA使用Maven和MyBatis簡化數(shù)據(jù)庫連接的詳細(xì)過程的文章就介紹到這了,更多相關(guān)idea簡化數(shù)據(jù)庫連接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot web開發(fā)源碼深入分析

    SpringBoot web開發(fā)源碼深入分析

    Web開發(fā)的核心內(nèi)容主要包括內(nèi)嵌的Servlet容器和SpringMVCSpringBoot使用起來非常簡潔,大部分配置都有SpringBoot自動裝配,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-10-10
  • RocketMQ消息拉取過程詳解

    RocketMQ消息拉取過程詳解

    這篇文章主要為大家介紹了RocketMQ消息拉取過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • IDEA啟動后控制臺不報錯,但是頁面訪問404的解決方案

    IDEA啟動后控制臺不報錯,但是頁面訪問404的解決方案

    文章瀏覽閱讀1.7w次,點贊23次,收藏71次。本文解決了一個SSM項目中因路徑配置不當(dāng)導(dǎo)致的404錯誤問題,通過調(diào)整控制器中的URL映射和視圖返回路徑,最終實現(xiàn)了項目的正常運行。
    2026-04-04
  • Java 對10個數(shù)進行排序的實現(xiàn)代碼

    Java 對10個數(shù)進行排序的實現(xiàn)代碼

    可以利用選擇法,即從后9個比較過程中,選擇一個最小的與第一個元素交換, 下次類推,即用第二個元素與后8個進行比較,并進行交換
    2017-02-02
  • Java數(shù)學(xué)工具類MathUtil詳解

    Java數(shù)學(xué)工具類MathUtil詳解

    這篇文章主要為大家詳細(xì)介紹了Java數(shù)學(xué)工具類MathUtil的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • java實現(xiàn)人員信息管理系統(tǒng)

    java實現(xiàn)人員信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)人員信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java實現(xiàn)批量導(dǎo)出導(dǎo)入數(shù)據(jù)及附件文件zip包

    Java實現(xiàn)批量導(dǎo)出導(dǎo)入數(shù)據(jù)及附件文件zip包

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)批量導(dǎo)出導(dǎo)入數(shù)據(jù)及附件文件zip包的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一
    2022-09-09
  • springboot普通類中如何獲取session問題

    springboot普通類中如何獲取session問題

    這篇文章主要介紹了springboot普通類中如何獲取session問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Swagger2配置Security授權(quán)認(rèn)證全過程

    Swagger2配置Security授權(quán)認(rèn)證全過程

    這篇文章主要介紹了Swagger2配置Security授權(quán)認(rèn)證全過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 如何通過Java監(jiān)聽MySQL數(shù)據(jù)的變化

    如何通過Java監(jiān)聽MySQL數(shù)據(jù)的變化

    對于二次開發(fā)來說,很大一部分就找找文件和找數(shù)據(jù)庫的變化情況,下面這篇文章主要給大家介紹了關(guān)于如何通過Java監(jiān)聽MySQL數(shù)據(jù)的變化的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03

最新評論

葵青区| 平和县| 天气| 介休市| 炉霍县| 桐柏县| 绥化市| 衡阳县| 德阳市| 石家庄市| 南木林县| 乌拉特前旗| 梨树县| 密云县| 开阳县| 阜新市| 石泉县| 汝南县| 双柏县| 宜兰市| 墨竹工卡县| 公主岭市| 龙泉市| 赣榆县| 彭泽县| 扎囊县| 宜兰县| 枝江市| 五峰| 夹江县| 沛县| 合肥市| 清镇市| 昭苏县| 高平市| 友谊县| 甘泉县| 集贤县| 浙江省| 巨鹿县| 遵义县|