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

實(shí)戰(zhàn)系列(三)| Mybatis和MybatisPlus區(qū)別,包含詳細(xì)代碼

這篇具有很好參考價(jià)值的文章主要介紹了實(shí)戰(zhàn)系列(三)| Mybatis和MybatisPlus區(qū)別,包含詳細(xì)代碼。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


實(shí)戰(zhàn)系列(三)| Mybatis和MybatisPlus區(qū)別,包含詳細(xì)代碼,mybatis,java,mybatisplus,spring

MyBatis 和 MyBatisPlus 都是基于 MyBatis 的擴(kuò)展庫(kù),用于簡(jiǎn)化 MyBatis 的開(kāi)發(fā)。MyBatisPlus 是在 MyBatis 的基礎(chǔ)上進(jìn)行封裝,提供了一套通用的 CRUD 操作接口,而 MyBatis 是一個(gè)底層的持久層框架。

1. 底層框架:

MyBatis 是一個(gè)持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis 避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis 可以使用簡(jiǎn)單的 XML 或注解進(jìn)行配置和原生映射。
MyBatisPlus 是一個(gè)基于 MyBatis 的擴(kuò)展庫(kù),它提供了一套通用的 CRUD 操作接口,自動(dòng)生成 SQL 語(yǔ)句,并提供了豐富的查詢(xún)條件構(gòu)造器等功能。MyBatisPlus 主要使用了注解進(jìn)行配置和映射。

2. 代碼差異:

MyBatis 的代碼主要涉及到以下幾個(gè)部分:

  • MyBatis 的配置文件(mybatis-config.xml),用于配置數(shù)據(jù)源、映射文件等。
  • 映射文件(Mapper.xml),用于定義 SQL 語(yǔ)句和結(jié)果映射。
  • Mapper 接口,用于定義與映射文件對(duì)應(yīng)的方法。
  • DAO 接口,用于封裝 Mapper 接口,提供統(tǒng)一的 CRUD 方法。
    MyBatisPlus 的代碼主要涉及到以下幾個(gè)部分:
  • MyBatisPlus 的配置文件(mybatis-plus-config.xml),用于配置數(shù)據(jù)源、分頁(yè)插件等。
  • 實(shí)體類(lèi)(Entity),用于定義數(shù)據(jù)庫(kù)表對(duì)應(yīng)的實(shí)體類(lèi)。
  • Mapper 接口,用于定義與數(shù)據(jù)庫(kù)表對(duì)應(yīng)的方法。
  • Service 接口,用于封裝 Mapper 接口,提供統(tǒng)一的 CRUD 方法。
  • ServiceImpl 類(lèi),實(shí)現(xiàn) Service 接口,調(diào)用 Mapper 接口進(jìn)行數(shù)據(jù)庫(kù)操作。

3. 使用差異:

MyBatis 需要手動(dòng)編寫(xiě) SQL 語(yǔ)句和結(jié)果映射,但提供了高度的定制化能力。MyBatis 的優(yōu)點(diǎn)是可以根據(jù)實(shí)際需求靈活編寫(xiě) SQL 語(yǔ)句,但缺點(diǎn)是編寫(xiě)映射文件和手動(dòng)設(shè)置參數(shù)比較繁瑣。
MyBatisPlus 提供了一套通用的 CRUD 操作接口,自動(dòng)生成 SQL 語(yǔ)句。MyBatisPlus 的優(yōu)點(diǎn)是簡(jiǎn)化了 MyBatis 的開(kāi)發(fā),提高了開(kāi)發(fā)效率,但缺點(diǎn)是定制化能力較差,對(duì)于復(fù)雜的 SQL 語(yǔ)句可能無(wú)法滿足需求。

4. 案例代碼分析:

4.1 MyBatis

以下是一個(gè)簡(jiǎn)單的 MyBatis 案例,用于演示用戶信息的增刪改查:

<!-- 配置文件 -->  
<configuration>  
   <environments default="development">  
       <environment id="development">  
           <transactionManager type="JDBC"/>  
           <dataSource type="POOLED">  
               <property name="driver" value="com.mysql.jdbc.Driver"/>  
               <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=UTC"/>  
               <property name="username" value="root"/>  
               <property name="password" value="password"/>  
           </dataSource>  
       </environment>  
   </environments>  
   <mappers>  
       <mapper resource="com/example/mapper/UserMapper.xml"/>  
   </mappers>  
</configuration>  
<!-- 映射文件 -->  
<mapper namespace="com.example.mapper.UserMapper">  
   <insert id="insertUser" parameterType="com.example.entity.User">  
       INSERT INTO user (username, password, email) VALUES (#{username}, #{password}, #{email})  
   </insert>  
   <!-- 其他 SQL 語(yǔ)句 -->  
</mapper>  
// Mapper 接口  
public interface UserMapper {  
   int insertUser(User user);  
   // 其他方法  
}
// DAO 接口  
public interface UserDao {  
   int insertUser(User user);  
   // 其他方法  
}
// 業(yè)務(wù)邏輯層  
@Service  
public class UserService {  
   @Autowired  
   private UserDao userDao;  
   public int insertUser(User user) {  
       return userDao.insertUser(user);  
   }  
   // 其他方法  
}

4.2 MyBatisPlus

以下是一個(gè)簡(jiǎn)單的 MyBatisPlus 案例,用于演示用戶信息的增刪改查:

  1. 首先,創(chuàng)建一個(gè)實(shí)體類(lèi)(Entity)User.java:
public class User {  
   private Long id;  
   private String username;  
   private String password;  
   private String email;
   // 省略 getter 和 setter 方法  
}
  1. 創(chuàng)建一個(gè) Mapper 接口 UserMapper.java:
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {  
}
  1. 創(chuàng)建一個(gè) Service 接口 UserService.java:
import com.baomidou.mybatisplus.extension.service.IService;
public interface UserService extends IService<User> {  
}
  1. 創(chuàng)建一個(gè) ServiceImpl 類(lèi) UserServiceImpl.java,實(shí)現(xiàn) Service 接口:
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;  
import org.springframework.stereotype.Service;
@Service  
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {  
}
  1. 創(chuàng)建一個(gè) Controller 類(lèi) UserController.java,處理 HTTP 請(qǐng)求:
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController  
@RequestMapping("/user")  
public class UserController {
   @Autowired  
   private UserService userService;
   @PostMapping  
   public String createUser(@RequestBody User user) {  
       userService.save(user);  
       return "User created";  
   }
   @GetMapping("/{id}")  
   public User getUser(@PathVariable Long id) {  
       return userService.getById(id);  
   }
   @GetMapping  
   public List<User> getUsers() {  
       return userService.list();  
   }
   @PutMapping("/{id}")  
   public String updateUser(@PathVariable Long id, @RequestBody User user) {  
       user.setId(id);  
       userService.updateById(user);  
       return "User updated";  
   }
   @DeleteMapping("/{id}")  
   public String deleteUser(@PathVariable Long id) {  
       userService.removeById(id);  
       return "User deleted";  
   }  
}
  1. 配置 MyBatisPlus 在 Spring Boot 項(xiàng)目中:
<!-- 配置文件 -->  
<configuration>  
   <extensions>  
       <extension plugin-id="mybatis-plus" interceptor="com.baomidou.mybatisplus.extension.MybatisPlusInterceptor"/>  
   </extensions>  
</configuration>  
<!-- 配置文件 -->  
<mybatis-plus-config>  
   <mapper-locations>  
       <mapper-location resource="classpath:mapper/*Mapper.xml"/>  
   </mapper-locations>  
   <type-aliases>  
       <package name="com.example.entity"/>  
   </type-aliases>  
   <global-config>  
       <db-config>  
           <logic delete-flag="true"/>  
           <logic not-delete-flag="false"/>  
       </db-config>  
       <date-format>yyyy-MM-dd HH:mm:ss</date-format>  
       <null-type-handler>com.baomidou.mybatisplus.core.handlers.空字符串類(lèi)型處理器</null-type-handler>  
   </global-config>  
</mybatis-plus-config>  

以上代碼演示了如何使用 MyBatisPlus 實(shí)現(xiàn)用戶信息的增刪改查。在這個(gè)案例中,我們使用了 MyBatisPlus 提供的注解和插件,簡(jiǎn)化了 MyBatis 的開(kāi)發(fā)。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-708829.html

到了這里,關(guān)于實(shí)戰(zhàn)系列(三)| Mybatis和MybatisPlus區(qū)別,包含詳細(xì)代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(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)文章

  • Java在線代碼生成工具,支持JPA、Mybatis、MybatisPlus

    Java在線代碼生成工具,支持JPA、Mybatis、MybatisPlus

    【Java代碼生成神器】自動(dòng)化生成Java實(shí)體類(lèi)、代碼、增刪改查功能!點(diǎn)擊訪問(wèn) 推薦一個(gè)自己每天都在用的Java代碼生成器!這個(gè)網(wǎng)站支持在線生成Java代碼,包含完整的ControllerServiceEntityDao代碼,完整的增刪改查功能! 還可以自定義自己的代碼模板、自由配置高級(jí)選項(xiàng),指定

    2024年02月19日
    瀏覽(25)
  • php 系列題目,包含查看后端源代碼

    php 系列題目,包含查看后端源代碼

    1.字符串和數(shù)字比較,字符串回被轉(zhuǎn)換成數(shù)字。 \\\"admin\\\" ==0(true) admin被轉(zhuǎn)換成數(shù)字,由于admin是字符串,轉(zhuǎn)換失敗,變成0 int(admin)=0,所以比較結(jié)果是ture 2.混合字符串轉(zhuǎn)換成數(shù)字,看字符串的第一個(gè) “1admin” == 1 ‘’2admin“ == 2? 3.字符串開(kāi)頭以xex開(kāi)頭,x代表數(shù)字。會(huì)被轉(zhuǎn)換成科

    2024年02月11日
    瀏覽(25)
  • Mac 電腦系統(tǒng)重裝(詳細(xì)流程,包含 Intel、Apple M系列)

    Mac 電腦系統(tǒng)重裝(詳細(xì)流程,包含 Intel、Apple M系列)

    重點(diǎn):在刷機(jī)之前,先退出當(dāng)前電腦的 Apple 賬號(hào) 登錄,確保解除賬號(hào)綁定的環(huán)境下在進(jìn)行刷機(jī), 為啥需要重點(diǎn)提醒,其實(shí)也是可以在刷機(jī)過(guò)程中輸入當(dāng)前綁定電腦的賬號(hào)密碼后,繼續(xù)刷機(jī)的。 但是,博主有點(diǎn)背,也就是我使用一個(gè)手機(jī)號(hào)注冊(cè)的 Apple 賬號(hào) ,登錄了電腦,然

    2024年02月13日
    瀏覽(22)
  • Node.js入門(mén)筆記(包含源代碼)以及詳細(xì)解析

    01、如何在終端中執(zhí)行js 文件 目標(biāo) :將下面的代碼語(yǔ)句在中斷中執(zhí)行 代碼演示: 方法: 在文件上右擊打開(kāi)在終端中執(zhí)行 ,然后輸入node空格 輸入需要執(zhí)行的文件名字 02、基于 fs 模塊讀寫(xiě)文件內(nèi)容 目標(biāo):使用fs模代碼操作文件在終端中的讀寫(xiě)操作 + 1、加載 fs 模塊對(duì)象 2、寫(xiě)

    2024年02月14日
    瀏覽(21)
  • Ajax筆記_01(知識(shí)點(diǎn)、包含代碼和詳細(xì)解析)

    前置知識(shí)點(diǎn) 在JavaScript中 問(wèn)題1:將數(shù)組轉(zhuǎn)為字符串,以及字符串轉(zhuǎn)為數(shù)組的方式。 問(wèn)題2、將對(duì)象轉(zhuǎn)為字符串,以及字符串轉(zhuǎn)為對(duì)象的方法。 方法: 問(wèn)題1: 將數(shù)組轉(zhuǎn)為字符串可以使用 join() 方法。例如: var array = [1, 2, 3]; var str = array.join(\\\',\\\'); ,將數(shù)組 [1, 2, 3] 轉(zhuǎn)為字符串

    2024年02月14日
    瀏覽(49)
  • SpringBoot整合Druid、Mybatis、MybatisPlus以及MybatisPlus的使用

    SpringBoot整合Druid、Mybatis、MybatisPlus以及MybatisPlus的使用

    1)引入jar包 2)在application.yml中 注意:?initialization-mode: always 第一次用過(guò)之后注釋掉,或者將其改成never 3).啟動(dòng)項(xiàng)目,訪問(wèn):http://127.0.0.1:8080/druid/? ?? ? ? ?用戶名:admin/密碼:123456(在配置文件中有) ps:還記得mybatis中的sqlSessionFactory要傳入一個(gè)dataSource嗎?所以我們先學(xué)習(xí)

    2024年02月12日
    瀏覽(28)
  • MyBatis動(dòng)態(tài)語(yǔ)句且如何實(shí)現(xiàn)模糊查詢(xún)及resultType與resultMap的區(qū)別---詳細(xì)介紹

    MyBatis動(dòng)態(tài)語(yǔ)句且如何實(shí)現(xiàn)模糊查詢(xún)及resultType與resultMap的區(qū)別---詳細(xì)介紹

    前面我們學(xué)習(xí)了如何使用Mybatis實(shí)現(xiàn)簡(jiǎn)單的增刪改查。今天我們來(lái)學(xué)習(xí)如何使用動(dòng)態(tài)語(yǔ)句來(lái)根據(jù)不同的條件生成不同的SQL語(yǔ)句。這在實(shí)際開(kāi)發(fā)中非常有用,因?yàn)橥ǔ2樵?xún)條件是多樣化的,需要根據(jù)實(shí)際情況來(lái)拼接SQL語(yǔ)句,那什么是MyBatis動(dòng)態(tài)語(yǔ)句呢,看下面詳細(xì)簡(jiǎn)介 MyBatis動(dòng)態(tài)語(yǔ)

    2024年02月11日
    瀏覽(19)
  • 本地項(xiàng)目提交代碼到git倉(cāng)庫(kù)詳細(xì)教程包含錯(cuò)誤解決辦法!!!

    本地項(xiàng)目提交代碼到git倉(cāng)庫(kù)詳細(xì)教程包含錯(cuò)誤解決辦法!!!

    1、查看遠(yuǎn)程分支 2、查看本地分支 二、創(chuàng)建和切換分支 1、創(chuàng)建新分支 2、切換分支 3、創(chuàng)建分支的同時(shí),切換到該分支上 三、從遠(yuǎn)程倉(cāng)庫(kù)pull(拉取)代碼到本地分支 1、指定遠(yuǎn)程分支,和本地分支 2、如果不寫(xiě)本地分支名稱(chēng),則默認(rèn)和遠(yuǎn)程分支同名 ,命令如下: 四、將新分

    2024年02月13日
    瀏覽(99)
  • MyBatis關(guān)聯(lián)查詢(xún)實(shí)戰(zhàn):一對(duì)一與一對(duì)多詳細(xì)解析

    MyBatis關(guān)聯(lián)查詢(xún)實(shí)戰(zhàn):一對(duì)一與一對(duì)多詳細(xì)解析

    MyBatis是一款強(qiáng)大的持久層框架,提供了多種方式來(lái)處理關(guān)聯(lián)查詢(xún),其中包括一對(duì)一和一對(duì)多的情況。在本文中,我們將深入探討這兩種關(guān)聯(lián)查詢(xún)的實(shí)現(xiàn)方式,并通過(guò)具體的示例代碼進(jìn)行詳細(xì)解釋。 實(shí)現(xiàn)一對(duì)一關(guān)聯(lián)查詢(xún)的方式有多種,其中包括嵌套查詢(xún)(Nested Queries)和結(jié)果集

    2024年01月19日
    瀏覽(35)
  • idea配置jdbc連接MySQL的全部詳細(xì)步驟(包含運(yùn)行代碼)

    idea配置jdbc連接MySQL的全部詳細(xì)步驟(包含運(yùn)行代碼)

    讀者手冊(cè)(必讀)_云邊的快樂(lè)貓的博客-CSDN博客 一、導(dǎo)包 1. 打開(kāi) idea ,在左上角找到當(dāng)前使用的這個(gè)模塊,右鍵打開(kāi)新建一個(gè) Directory ? 2. 這個(gè)目錄包命名為 lib 3. 在本地磁盤(pán)中找到下載的MySQL的這個(gè)jar包,點(diǎn)擊ctrl +c復(fù)制,ctrl+v粘貼到這個(gè)lib里面點(diǎn)擊ok就好了? ?4. 這樣就完成

    2024年02月11日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包