国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記

這篇具有很好參考價(jià)值的文章主要介紹了【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

ORM思想(對(duì)象關(guān)系映射思想)

初識(shí)MyBatis

什么是MyBatis呢?

JDBC? VS? MyBatis代碼?

獲取數(shù)據(jù)庫(kù)連接對(duì)比

?對(duì)表格查詢操作:

JDBC弊端

MyBatis,JDBC對(duì)比

MyBatis進(jìn)一步介紹以及本質(zhì)分析

JDBC編程的劣勢(shì),MyBatis提供了以下解決方案

MyBatis環(huán)境搭建

配置依賴案例演示:

MyBatis環(huán)境搭建步驟

我的第一個(gè)MyBatis

項(xiàng)目樹

mybatis-config.xml文件

UserMapper.xml文件

db.properties文件

pom.xml文件



?

ORM思想(對(duì)象關(guān)系映射思想)

ORM(對(duì)象關(guān)系映射)是一種編程思想和技術(shù),用于將關(guān)系型數(shù)據(jù)庫(kù)(也就是MySQL等數(shù)據(jù)庫(kù))中的表結(jié)構(gòu)映射到面向?qū)ο缶幊陶Z言中的對(duì)象模型。我們介紹的MyBatis框架也是實(shí)現(xiàn)了ORM思想的;

初學(xué)Java時(shí),我們學(xué)過Java的主要思想,“萬事萬物皆對(duì)象”,呢么在這里,實(shí)際上就是將數(shù)據(jù)庫(kù)中的表也抽象成一個(gè)對(duì)象,這樣就避免了操作數(shù)據(jù)庫(kù)中的表格繁瑣的過程,直接通過Java對(duì)象調(diào)方法的操作表中的數(shù)據(jù);比如User類對(duì)應(yīng)t_user表如下圖:

ORM思想圖解(圖來自動(dòng)力節(jié)點(diǎn)課堂筆記)

【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記,SSM框架,mybatis

ORM 的基本思想是通過定義對(duì)象和數(shù)據(jù)庫(kù)表之間的映射關(guān)系,使得開發(fā)人員可以像操作對(duì)象一樣操作數(shù)據(jù)庫(kù),而不需要直接編寫SQL語句。

ORM 的優(yōu)點(diǎn)包括:

  1. 簡(jiǎn)化開發(fā):ORM 提供了一種易于理解和使用的編程模型,開發(fā)人員可以直接使用對(duì)象的方法和屬性來操作數(shù)據(jù)庫(kù),從而免去了復(fù)雜的SQL語句和數(shù)據(jù)庫(kù)細(xì)節(jié)。

  2. 提高可維護(hù)性:通過將數(shù)據(jù)庫(kù)和應(yīng)用程序的邏輯分離,使得代碼更加模塊化和可維護(hù)。當(dāng)數(shù)據(jù)庫(kù)結(jié)構(gòu)改變時(shí),只需更新映射定義,而不需要修改大量的業(yè)務(wù)邏輯代碼。

  3. 提高可移植性:ORM 可以隱藏不同數(shù)據(jù)庫(kù)之間的差異,使得應(yīng)用程序可以比較容易地切換或同時(shí)支持多種數(shù)據(jù)庫(kù)。

  4. 提供對(duì)象級(jí)的查詢和持久化:ORM 不僅提供了方便的增刪改查操作,還支持復(fù)雜的查詢和關(guān)聯(lián)操作,可以方便地處理對(duì)象之間的關(guān)系。

除MyBatis外常見的其他ORM框架包括Hibernate(Java)、Django ORM(Python)、Entity Framework(.NET)等。這些框架都提供了一套映射規(guī)則和API,使得開發(fā)人員可以更輕松地進(jìn)行數(shù)據(jù)庫(kù)操作,提高開發(fā)效率和代碼質(zhì)量。


初識(shí)MyBatis

什么是MyBatis呢?

我在之前學(xué)完java基礎(chǔ)之后,學(xué)習(xí)了Javaweb,隨后學(xué)習(xí)了使用java連接數(shù)據(jù)庫(kù)的技術(shù)JDBC,JDBC就是連接數(shù)據(jù)庫(kù)的一種工具,然而MyBatis實(shí)際上就是對(duì)JDBC的再一次封裝,他大大的節(jié)約了代碼的書寫量,以及改進(jìn)了JDBC在實(shí)際使用中的一些弊端;

簡(jiǎn)單來說什么是Mybatis呢?Java有個(gè)萬事萬物皆對(duì)象的說法,即將Java操作的事務(wù)都抽象出該事務(wù)為一個(gè)對(duì)象,該對(duì)象有關(guān)的一切操作(刪除表中數(shù)據(jù)、加入一條數(shù)據(jù)等等),在Java中都被封裝成一個(gè)一個(gè)的方法(到時(shí)只需對(duì)象調(diào)方法即可),呢么此處的操作數(shù)據(jù)庫(kù)也是一樣的,我們之間學(xué)過JDBC,所謂MyBatis就是將JDBC封裝成一些對(duì)象和一大堆方法,然后將JDBC中的一些需要程序員自己書寫的重復(fù)繁瑣的代碼封裝成對(duì)象中的方法,比如連接數(shù)據(jù)庫(kù)(獲取connection對(duì)象)、調(diào)用preparedstatement執(zhí)行sql語句、獲取結(jié)果集時(shí)的繁瑣步驟等等。

JDBC? VS? MyBatis代碼?

我們上面一直使用文字來描述mybatis的優(yōu)點(diǎn),節(jié)省代碼量等等,這些都不直觀,下面我們通過代碼來對(duì)比出二者的優(yōu)缺點(diǎn):

獲取數(shù)據(jù)庫(kù)連接對(duì)比

public class DBUtil {
    //靜態(tài)變量是類加載時(shí)運(yùn)行,有順序;
    private static ResourceBundle bundle=ResourceBundle.getBundle("resources.jdbc");
    private static String url = bundle.getString("url");
    private static String user = bundle.getString("user");
    private static String password = bundle.getString("password");
    private static String driverClass = bundle.getString("driverClass");

    static{
        //注冊(cè)驅(qū)動(dòng)
        //只需要進(jìn)行一次,在類加載時(shí)執(zhí)行
        //Class.forName("com.mysql.jdbc.Driver");方法的參數(shù)別寫死,不然后期很難擴(kuò)展;什么是OCP,在進(jìn)行功能擴(kuò)展的時(shí)候,不需要修改源代碼;
        try {
            Class.forName(driverClass);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
    
    public static Connection getConnection() throws SQLException {

        //獲取連接
        Connection conn = DriverManager.getConnection(url, user, password);
        return conn;
    }

    
    public static void close(Connection conn, Statement ps, ResultSet rs){
        if(rs!=null){
            try {
                rs.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }

        if(ps!=null){
            try {
                ps.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        if(conn!=null){
            try {
                conn.close();
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
}

然而在MyBatis中我們只需要在mybatis-config.xml文件中配置以下信息即可,具體細(xì)節(jié)我們不需要關(guān)心,MyBatis程序員已經(jīng)在底層為我們做好了,如果需要對(duì)大量數(shù)據(jù)庫(kù)操作,可見二者代碼量的差距,很直觀mybatis避免了繁瑣的代碼,以及繁瑣的實(shí)現(xiàn)細(xì)節(jié);

<properties  resource="db.properties"/>  
   <transactionManager type="JDBC"/>             
                <property name="driver" value="${mysql.driver}"/>
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>

?對(duì)表格查詢操作:

 public Dept selectByno(int no) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        Dept dept =null;
        try {
            conn = DBUtil.getConnection();
            String sql = "select dname,loc from dept1 where deptno=? ";
            ps = conn.prepareStatement(sql);
            ps.setInt(1, no);
            rs = ps.executeQuery();
            dept = new Dept();
            while (rs.next()) {
                String dname = rs.getString("dname");
                String loc = rs.getString("loc");
                dept.setDeptno(no);
                dept.setDname(dname);
                dept.setLocation(loc);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            DBUtil.close(conn, ps, rs);
        }
        return dept;
    }

在mybatis中我們只需要在***Mapper.xml文件中配置標(biāo)簽和查詢語句即可,避免了大量的創(chuàng)建對(duì)象和大量繁瑣的過程,這一個(gè)操作不得已看出mybatis的優(yōu)勢(shì),然而實(shí)際需求中當(dāng)有數(shù)以萬計(jì)的表格和操作之后,二者的代碼量,可見mybatis的優(yōu)勢(shì);


【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記,SSM框架,mybatis

JDBC弊端

?1、?連接數(shù)據(jù)庫(kù)時(shí)需要頻繁的創(chuàng)建連接,并釋放連接;
?2、 項(xiàng)目中的sql語句都是硬編碼,違背了開閉原則,所謂開閉原則就是強(qiáng)調(diào)軟件實(shí)體(類、模塊、函數(shù)等)應(yīng)該對(duì)擴(kuò)展開放,對(duì)修改關(guān)閉;
?3、 使用preparedstatement對(duì)象處理sql語句時(shí)(使用占位符來為參數(shù)占位,然而參數(shù)的個(gè)數(shù)是動(dòng)態(tài)的),根據(jù)參數(shù)的個(gè)數(shù)不同,需要不時(shí)地的修改代碼,或者書寫很多冗余的代碼;
?4、 項(xiàng)目中一旦SQL語句變化,也要在底層改動(dòng)很多地方(不同的SQL語句得到的結(jié)果集都會(huì)不同,因此處理結(jié)果集的代碼就會(huì)有所不同);
?5、 查詢后得到的結(jié)果集,轉(zhuǎn)換成對(duì)應(yīng)的java類需要很負(fù)責(zé)的步驟;(處理結(jié)果集過程)

MyBatis,JDBC對(duì)比

?相對(duì)于 MyBatis,JDBC 的一些缺點(diǎn)包括: ?? ?

1、 冗余的代碼:JDBC 需要手動(dòng)編寫大量的重復(fù)性代碼,如數(shù)據(jù)庫(kù)連接和關(guān)閉、SQL語句的拼接、結(jié)果集的處理等,使開發(fā)過程顯得冗長(zhǎng)而繁瑣。 ?

2、 容易出現(xiàn)安全問題:由于需要手動(dòng)拼接 SQL 語句,存在 SQL 注入的風(fēng)險(xiǎn)。開發(fā)人員必須小心防范并處理 SQL 注入攻擊,增加了安全風(fēng)險(xiǎn)。 ?

3、 處理事務(wù)困難:JDBC 需要手動(dòng)管理事務(wù),包括事務(wù)的開啟、提交和回滾。在復(fù)雜的業(yè)務(wù)操作中,需要編寫大量的事務(wù)管理代碼,容易出錯(cuò)且難以維護(hù)。 ?

4、 面向細(xì)節(jié):JDBC 是低層次的API,需要開發(fā)人員手動(dòng)處理數(shù)據(jù)庫(kù)的細(xì)節(jié),如連接池管理、異常處理、批量操作等。這增加了開發(fā)的復(fù)雜性和難度,容易出現(xiàn)錯(cuò)誤和性能問題。 ?? ?

相對(duì)于 JDBC,MyBatis 是一個(gè)優(yōu)秀的 ORM 框架,它克服了上述問題,提供了更高級(jí)別的抽象和便利,具有以下優(yōu)點(diǎn): ?? ?

1、 聲明式的 SQL:MyBatis 使用 XML 或注解來定義 SQL 語句,并提供了強(qiáng)大的動(dòng)態(tài) SQL 功能,簡(jiǎn)化了 SQL 的編寫和維護(hù)。 ?

2、 簡(jiǎn)化的數(shù)據(jù)庫(kù)操作:MyBatis 提供了簡(jiǎn)潔的 API,將數(shù)據(jù)庫(kù)連接、SQL 執(zhí)行、結(jié)果集映射等細(xì)節(jié)封裝起來,減少了冗余的代碼量。 ?

3、 對(duì)象關(guān)系映射:MyBatis 支持對(duì)象關(guān)系映射,可以將查詢結(jié)果直接映射為對(duì)象,方便了開發(fā)人員對(duì)數(shù)據(jù)庫(kù)結(jié)果的操作和處理。 ?

4、 緩存機(jī)制:MyBatis 內(nèi)置了緩存機(jī)制,可以緩存查詢結(jié)果,提高系統(tǒng)的性能和響應(yīng)速度。 ?

5、 聲明式事務(wù):MyBatis 提供了聲明式事務(wù)管理的支持,通過配置和注解實(shí)現(xiàn)事務(wù)的開啟、提交和回滾,簡(jiǎn)化了事務(wù)管理的操作。 ?? ?

綜上所述,相對(duì)于 JDBC,MyBatis 提供了更高級(jí)別的抽象和便利,簡(jiǎn)化了數(shù)據(jù)庫(kù)操作,提高了開發(fā)效率和代碼的可維護(hù)性。?


MyBatis進(jìn)一步介紹以及本質(zhì)分析

MyBatis作為一個(gè)優(yōu)秀的持久層框架,它對(duì)JDBC操作數(shù)據(jù)率的過程進(jìn)行了封裝,使開發(fā)者只需要關(guān)注SQL本身,而不需要花費(fèi)精力去處理注冊(cè)驅(qū)動(dòng) 創(chuàng)建Connertion對(duì)象、創(chuàng)建Statement對(duì)象、手動(dòng)設(shè)置參數(shù)結(jié)果集檢索等JDBC繁雜的過程代碼。

JDBC編程的劣勢(shì),MyBatis提供了以下解決方案,具體如下。

問題一:頻繁地創(chuàng)建、釋放數(shù)據(jù)庫(kù)連接會(huì)造成系統(tǒng)資源浪費(fèi),從而影響系統(tǒng)性能。

解決方案:在SqlMapConfig.xml 中配置數(shù)據(jù)連接池,使用數(shù)據(jù)庫(kù)連接池管理數(shù)據(jù)庫(kù)連接

問題二:代碼中的SQL語句硬編碼,會(huì)造成代碼不易于維護(hù)。在實(shí)際應(yīng)用的開發(fā)中,SOL變化的可能性較大。在傳統(tǒng)JDBC編程中,01變動(dòng)金發(fā)更改nva代碼,違反了開閉原則。軟件實(shí)體對(duì)打

解決方案:MyBatis將SQL語句配置在MyBatis的映射文件(***mapper.xml文件)中,實(shí)現(xiàn)了與Java代碼的分離。

問題三:使用PreparedStatement向占位符傳參數(shù)存在硬編碼,因?yàn)镾QL語句的where條件不確定,如果有修改SQL的需求,必須要修改代碼,這樣會(huì)導(dǎo)致系統(tǒng)難以維護(hù)。

解決方案:MyBatis自動(dòng)將Java對(duì)象映射至SQL語句,通過Statement中的 parameterType定義輸入?yún)?shù)的類型。

問題四:JDBC對(duì)結(jié)果集解析存在硬編碼(查詢列名),SQL變化導(dǎo)致解析代碼變化,使得系統(tǒng)不易于維護(hù)

解決方案:MyBatis自動(dòng)將SQL執(zhí)行結(jié)果映射至Java對(duì)象,通過Statement中的resultType定義輸出結(jié)果的類型。

MyBatis環(huán)境搭建

創(chuàng)建工程,引入依賴(因?yàn)閷W(xué)過Maven技術(shù),所以無須自己下載MyBatis驅(qū)動(dòng)jar包,只需要在配置文件(pom.xml)中配置即可)使用Maven倉(cāng)庫(kù)技術(shù);

這里插入一個(gè)小知識(shí)點(diǎn):工程(project)和模塊(module)的關(guān)系是,一個(gè)工程(project)可以包含多個(gè)模塊(module);

配置依賴案例演示:

【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記,SSM框架,mybatis

MyBatis環(huán)境搭建步驟

1、 創(chuàng)建工程 ?

2、 引入驅(qū)動(dòng)jar包(Maven倉(cāng)庫(kù)技術(shù))

3、 創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫(kù)中的數(shù)據(jù)表格 ?

4、 創(chuàng)建數(shù)據(jù)庫(kù)連接信息配置文件,db.properties文件 ?

5、 創(chuàng)建MyBatis的核心配置文件(mybatis——config.xml文件)這個(gè)文件一個(gè)模塊中僅有一個(gè)

我的第一個(gè)MyBatis

具體實(shí)現(xiàn)步驟:

?1、 創(chuàng)建數(shù)據(jù)庫(kù)中的數(shù)據(jù)

?2、 創(chuàng)建pojo實(shí)體、或者也可以稱為Javabean或者dao

?3、 創(chuàng)建映射文件***Mapper.xml文件(一個(gè)模塊中可能會(huì)處理多張表格,其中一個(gè)表格對(duì)應(yīng)一個(gè)Mapper.xml文件)

?4、 將***Mapper.xml文件的路徑配置到MyBatis-config.xml文件中

?5、 在項(xiàng)目的test路徑下編寫測(cè)試代碼

項(xiàng)目樹

【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記,SSM框架,mybatis文章來源地址http://www.zghlxwxcb.cn/news/detail-698532.html

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>

<!--  加載類路徑下的屬性配置文件   -->
    <properties  resource="db.properties"/>

    <!-- 默認(rèn)使用的環(huán)境 ID(比如:default="development")
    也就是說我們可以配置多套<environment>環(huán)境-->
    <environments default="development">
        <!--
           每個(gè) environment 元素定義的環(huán)境 ID
           -->
        <environment id="development">
            <!--
                transactionManager 事務(wù)管理器
                type的值有JDBC和MANAGED
                    JDBC – 這個(gè)配置直接使用了 JDBC 的提交和回滾設(shè)施,它依賴從數(shù)據(jù)源獲得的連接來管理事務(wù)作用域。
            -->
            <transactionManager type="JDBC"/>
            <!--
              dataSourcedataSource 數(shù)據(jù)源 dbcp c3p0 druid
              type="[UNPOOLED|POOLED|JNDI]"
              POOLED意思有連接池的連接
              UNPOOLED意思沒有連接池的連接
              -->
            <dataSource type="POOLED">
                <!--                JDBC 驅(qū)動(dòng)-->
                <property name="driver" value="${mysql.driver}"/>
                <!--                url數(shù)據(jù)庫(kù)的 JDBC URL地址。-->
                <property name="url" value="${mysql.url}"/>
                <property name="username" value="${mysql.username}"/>
                <property name="password" value="${mysql.password}"/>

                <!--            defaultTransactionIsolationLevel – 默認(rèn)的連接事務(wù)隔離級(jí)別。&ndash;&gt;-->
                <!--            <property name="defaultTransactionIsolationLevel" value=""/>-->

                <!--            defaultNetworkTimeout – 等待數(shù)據(jù)庫(kù)操作完成的默認(rèn)網(wǎng)絡(luò)超時(shí)時(shí)間(單位:毫秒)&ndash;&gt;-->
                <!--            <property name="efaultNetworkTimeout" value=""/>-->

            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!-- 使用相對(duì)于類路徑的資源引用 -->
                <mapper resource="mapper/UserMapper.xml"/>
        <!-- 使用完全限定資源定位符(URL)
        不推薦使用
        <mapper url="E:\JetBrains\mybatis學(xué)習(xí)\Mybatis-study\Mybatis-03\src\main\java\asia\xiaojiang\mybatis03\dao\UserMapper.xml"/>
        -->

        <!-- 使用映射器接口實(shí)現(xiàn)類的完全限定類名
         使用注意點(diǎn):
            接口和其配置文件必須同名, 必須在同一個(gè)包下
         -->
<!--        <mapper class="asia.xiaojiang.mybatis03.dao.UserMapper"/>-->
        <!-- 將包內(nèi)的映射器接口實(shí)現(xiàn)全部注冊(cè)為映射器
        使用包掃描注意點(diǎn):
            接口和其配置文件必須同名, 必須在同一個(gè)包下
        -->
        <!--        <package name="asia.xiaojiang.mybatis03.dao"/>-->
    </mappers>

</configuration>

UserMapper.xml文件

<?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為映射的根節(jié)點(diǎn),namespace指定Dao接口的完整類名,
         mybatis會(huì)根據(jù)這個(gè)接口動(dòng)態(tài)的創(chuàng)建一個(gè)實(shí)現(xiàn)類
         去實(shí)現(xiàn)這個(gè)接口,而這個(gè)實(shí)現(xiàn)類是一個(gè)Mapper對(duì)象
    -->
<mapper namespace="com.lyp.pojo.User">

    <!--定義接口方法對(duì)應(yīng)的 SQL 語句-->
    <select id="findById"
            parameterType="int" resultType="com.lyp.pojo.User">
        select * from users where uid=#{id}
    </select>


</mapper>

db.properties文件

mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&\
  characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
mysql.password=123456

pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>MyBatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>18</maven.compiler.source>
        <maven.compiler.target>18</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

   

</project>

到了這里,關(guān)于【MyBatis篇】MyBatis框架基礎(chǔ)知識(shí)筆記的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SSM(Spring+SpringMVC+MyBatis)框架集成

    SSM(Spring+SpringMVC+MyBatis)框架集成

    進(jìn)行SSM(Spring+SpringMVC+MyBatis)集成的主要原因是為了提高開發(fā)效率和代碼可維護(hù)性。SSM是一套非常流行的Java Web開發(fā)框架,它集成了Spring框架、SpringMVC框架和MyBatis框架,各自發(fā)揮優(yōu)勢(shì),形成了一個(gè)完整的開發(fā)框架。 首先,使用Spring框架可以實(shí)現(xiàn)組件的解耦和依賴注入,通過配

    2024年02月08日
    瀏覽(23)
  • SSM框架和Spring Boot+Mybatis框架的性能比較?

    SSM框架和Spring Boot+Mybatis框架的性能比較,沒有一個(gè)絕對(duì)的答案,因?yàn)樗鼈兊男阅苁艿胶芏嘁蛩氐挠绊?,例如?xiàng)目的規(guī)模、復(fù)雜度、需求、技術(shù)棧、團(tuán)隊(duì)水平、測(cè)試環(huán)境、測(cè)試方法等。因此,我們不能簡(jiǎn)單地說哪個(gè)框架的性能更好,而是需要根據(jù)具體的場(chǎng)景和目標(biāo)來進(jìn)行評(píng)估和

    2024年02月11日
    瀏覽(22)
  • SSM vs Spring Boot+Mybatis:哪個(gè)框架更適合你?

    SSM框架是指Spring+Spring MVC+Mybatis三個(gè)框架的組合,它是一個(gè)傳統(tǒng)的Java Web開發(fā)框架,可以實(shí)現(xiàn)Web層、業(yè)務(wù)層和持久層的分離和整合。 SSM框架的優(yōu)點(diǎn)有: 結(jié)構(gòu)清晰,分層明確,符合MVC模式。 Spring MVC是一個(gè)輕量級(jí)的Web層框架,可以接收用戶請(qǐng)求,調(diào)用業(yè)務(wù)邏輯層,處理模型數(shù)據(jù),

    2024年02月11日
    瀏覽(22)
  • SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美結(jié)合!

    SSM框架整合:掌握Spring+Spring MVC+MyBatis的完美結(jié)合!

    (1) 創(chuàng)建工程 創(chuàng)建一個(gè)Maven的web工程 pom.xml添加SSM需要的依賴jar包 編寫Web項(xiàng)目的入口配置類,實(shí)現(xiàn) AbstractAnnotationConfigDispatcherServletInitializer 重寫以下方法。 getRootConfigClasses() :返回Spring的配置類-需要 SpringConfig 配置類。 getServletConfigClasses() :返回SpringMVC的配置類-需要 SpringMvc

    2024年01月17日
    瀏覽(21)
  • SSM框架的學(xué)習(xí)與應(yīng)用(Spring + Spring MVC + MyBatis)-Java EE企業(yè)級(jí)應(yīng)用開發(fā)學(xué)習(xí)記錄(第一天)Mybatis的學(xué)習(xí)

    SSM框架的學(xué)習(xí)與應(yīng)用(Spring + Spring MVC + MyBatis)-Java EE企業(yè)級(jí)應(yīng)用開發(fā)學(xué)習(xí)記錄(第一天)Mybatis的學(xué)習(xí)

    一、當(dāng)前的主流框架介紹(這就是后期我會(huì)發(fā)出來的框架學(xué)習(xí)) Spring框架 ? Spring是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的 ,其主要優(yōu)勢(shì)之一就是分層架構(gòu)。 Spring提供了更完善的開發(fā)環(huán)境,可以為POJO(Plain Ordinary Java Object,普通Java對(duì)象 )對(duì)象提供企業(yè)級(jí)

    2024年02月12日
    瀏覽(58)
  • IDEA版SSM入門到實(shí)戰(zhàn)(Maven+MyBatis+Spring+SpringMVC) -Spring搭建框架步驟

    第一章 初識(shí)Spring 1.1 Spring簡(jiǎn)介 Spring是一個(gè)為簡(jiǎn)化企業(yè)級(jí)開發(fā)而生的 開源框架 。 Spring是一個(gè) IOC(DI) 和 AOP 容器框架。 IOC全稱:Inversion of Control【控制反轉(zhuǎn)】 將對(duì)象【萬物皆對(duì)象】控制權(quán)交個(gè)Spring DI全稱:(Dependency Injection):依賴注入 AOP全稱:Aspect-Oriented Programming,面向切面編

    2024年02月04日
    瀏覽(53)
  • 【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和優(yōu)缺點(diǎn)的略微講解

    【Spring+SpringMVC+Mybatis】SSM框架的整合、思想、工作原理和優(yōu)缺點(diǎn)的略微講解

    ??歡迎來到本文?? ??個(gè)人簡(jiǎn)介:陳童學(xué)哦,目前學(xué)習(xí)C/C++、算法、Python、Java等方向,一個(gè)正在慢慢前行的普通人。 ??系列專欄:陳童學(xué)的日記 ??其他專欄:C++STL,感興趣的小伙伴可以看看。 ??希望各位→點(diǎn)贊?? + 收藏?? + 留言?? ? ??萬物從心起,心動(dòng)則萬物動(dòng)??

    2024年02月10日
    瀏覽(26)
  • SSM框架的學(xué)習(xí)與應(yīng)用(Spring + Spring MVC + MyBatis)-Java EE企業(yè)級(jí)應(yīng)用開發(fā)學(xué)習(xí)記錄(第五天)MyBatis的注解開發(fā)

    SSM框架的學(xué)習(xí)與應(yīng)用(Spring + Spring MVC + MyBatis)-Java EE企業(yè)級(jí)應(yīng)用開發(fā)學(xué)習(xí)記錄(第五天)MyBatis的注解開發(fā)

    ? 昨天我們深入學(xué)習(xí)了 MyBatis多表之間的關(guān)聯(lián)映射,了解掌握了一對(duì)一關(guān)聯(lián)映射,一對(duì)多關(guān)聯(lián)映射,嵌套查詢方式以及嵌套結(jié)果方式,掌握了緩存機(jī)制的一級(jí)緩存,二級(jí)緩存等概念,也使用了代碼進(jìn)行復(fù)現(xiàn)理解 。但是都是基于XML配置文件的方式來實(shí)現(xiàn)的,現(xiàn)在我們要學(xué)習(xí)一下

    2024年02月11日
    瀏覽(58)
  • SSM框架的學(xué)習(xí)與應(yīng)用(Spring + Spring MVC + MyBatis)-Java EE企業(yè)級(jí)應(yīng)用開發(fā)學(xué)習(xí)記錄(第二天)Mybatis的深入學(xué)習(xí)

    SSM框架的學(xué)習(xí)與應(yīng)用(Spring + Spring MVC + MyBatis)-Java EE企業(yè)級(jí)應(yīng)用開發(fā)學(xué)習(xí)記錄(第二天)Mybatis的深入學(xué)習(xí)

    上一篇我們的項(xiàng)目搭建好了,也寫了簡(jiǎn)答的Junit測(cè)試類進(jìn)行測(cè)試,可以正確映射到數(shù)據(jù)庫(kù)中。 那么這篇文章來深入學(xué)習(xí)一下以下幾個(gè)點(diǎn): 了解 MyBatis的核心對(duì)象SqlSessionFactoryBuilder 以及它的作用 掌握MyBatis核心配置文件以及元素的使用 。 掌握MyBatis映射文件及其元素的使用 。

    2024年02月11日
    瀏覽(34)
  • 全網(wǎng)最全、最新MyBatis框架核心知識(shí)

    全網(wǎng)最全、最新MyBatis框架核心知識(shí)

    MyBatis是 操作數(shù)據(jù)庫(kù) 的,相當(dāng)于是一個(gè) 增強(qiáng)的JDBC 1.1 三層架構(gòu) 三層架構(gòu)包括: 界面層(User Interface layer) 業(yè)務(wù)邏輯層(Business Logic Layer) 數(shù)據(jù)訪問層(Data access layer) 三層的職責(zé): 界面層(表示層,視圖層) :主要功能是接受用戶的數(shù)據(jù),顯示請(qǐng)求的處理結(jié)果。使用 web

    2024年02月08日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包