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

MyBatis最常用的增刪改查操作詳解

 更新時(shí)間:2024年12月02日 08:26:03   作者:Theodore_1022  
這篇文章主要介紹了MyBatis中常見的增、刪、改、查(CRUD)操作,通過創(chuàng)建數(shù)據(jù)庫表、實(shí)體類、Mapper接口及映射文件,我們實(shí)現(xiàn)了對(duì)user表的增刪改查操作,MyBatis簡化了數(shù)據(jù)庫操作,需要的朋友可以參考下

一、簡介

MyBatis 是一款優(yōu)秀的持久層框架,它通過 SQL 映射將對(duì)象與數(shù)據(jù)庫操作連接起來,使得 Java 對(duì)象和數(shù)據(jù)庫表之間的映射更加清晰。MyBatis 通過映射文件來定義 SQL 語句,并自動(dòng)映射結(jié)果集到 Java 對(duì)象,同時(shí)也支持動(dòng)態(tài) SQL 的編寫,極大提高了數(shù)據(jù)庫操作的效率和靈活性。

本篇博客將詳細(xì)介紹 MyBatis 中最常用的操作:增、刪、改、查(CRUD)。我們將以一個(gè)簡單的 User 表為例,通過 MyBatis 執(zhí)行基本的增刪改查操作。

二、準(zhǔn)備工作

在使用 MyBatis 之前,我們首先需要引入 MyBatis 的核心依賴并進(jìn)行一些基礎(chǔ)配置。

1.Maven 依賴(pom.xml)

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.10</version> <!-- 選擇適合你的版本 -->
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version> <!-- 選擇適合你的版本 -->
</dependency>

2.MyBatis 配置文件(mybatis-config.xml)

在 src/main/resources 目錄下創(chuàng)建 mybatis-config.xml 文件,用于配置 MyBatis 的基本信息。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/your_db"/>
                <property name="username" value="root"/>
                <property name="password" value="password"/>
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <mapper resource="com/example/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

三、具體設(shè)計(jì)

1.數(shù)據(jù)庫表設(shè)計(jì)

為了演示 MyBatis 的增刪改查操作,我們需要一個(gè)數(shù)據(jù)庫表。在這里,我們使用一個(gè)簡單的 user 表:

CREATE TABLE user (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);

2. Mapper 接口:UserMapper

創(chuàng)建 UserMapper 接口,定義增刪改查方法。

public interface UserMapper {
    int insertUser(User user);  // 插入用戶
    int updateUser(User user);  // 更新用戶
    int deleteUser(Integer id); // 刪除用戶
    User selectUserById(Integer id); // 根據(jù) ID 查詢用戶
    List<User> selectAllUsers(); // 查詢所有用戶
}

3. Mapper 映射文件:UserMapper.xml

在 src/main/resources/com/example/mapper/ 目錄下創(chuàng)建 UserMapper.xml 文件,并編寫相應(yīng)的 SQL 語句。

<?xml version="1.0" encoding="UTF-8" ?>
<mapper namespace="com.example.mapper.UserMapper">

    <!-- 插入用戶 -->
    <insert id="insertUser" parameterType="com.example.model.User">
        INSERT INTO user (username, password)
        VALUES (#{username}, #{password})
    </insert>

    <!-- 更新用戶 -->
    <update id="updateUser" parameterType="com.example.model.User">
        UPDATE user
        SET username = #{username}, password = #{password}
        WHERE id = #{id}
    </update>

    <!-- 刪除用戶 -->
    <delete id="deleteUser" parameterType="int">
        DELETE FROM user WHERE id = #{id}
    </delete>

    <!-- 根據(jù) ID 查詢用戶 -->
    <select id="selectUserById" resultType="com.example.model.User" parameterType="int">
        SELECT id, username, password FROM user WHERE id = #{id}
    </select>

    <!-- 查詢所有用戶 -->
    <select id="selectAllUsers" resultType="com.example.model.User">
        SELECT id, username, password FROM user
    </select>

</mapper>

四、MyBatis 的增刪改查操作

1. 插入數(shù)據(jù)(Insert)

插入數(shù)據(jù)使用 insert 標(biāo)簽,并通過 insertUser 方法執(zhí)行。

public class UserService {
    private SqlSession sqlSession;

    public int addUser(User user) {
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
        return userMapper.insertUser(user);
    }
}

User user = new User();
user.setUsername("john");
user.setPassword("password");
userService.addUser(user);

2. 更新數(shù)據(jù)(Update)

更新數(shù)據(jù)使用 update 標(biāo)簽,通過 updateUser 方法執(zhí)行。

public int updateUser(User user) {
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    return userMapper.updateUser(user);
}

User user = new User();
user.setId(1);
user.setUsername("john_updated");
user.setPassword("newpassword");
userService.updateUser(user);

3. 刪除數(shù)據(jù)(Delete)

刪除數(shù)據(jù)使用 delete 標(biāo)簽,通過 deleteUser 方法執(zhí)行。

public int deleteUser(int id) {
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    return userMapper.deleteUser(id);
}

userService.deleteUser(1);

4. 查詢數(shù)據(jù)(Select)

 查詢數(shù)據(jù)使用 select 標(biāo)簽,常用的有根據(jù) ID 查詢和查詢所有數(shù)據(jù)。

public User getUserById(int id) {
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    return userMapper.selectUserById(id);
}

查詢所有用戶:

public List<User> getAllUsers() {
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    return userMapper.selectAllUsers();
}

User user = userService.getUserById(1);
List<User> users = userService.getAllUsers();

五、小結(jié)

本文介紹了 MyBatis 中常見的增、刪、改、查操作。通過創(chuàng)建數(shù)據(jù)庫表、實(shí)體類、Mapper 接口及映射文件,我們實(shí)現(xiàn)了對(duì) user 表的增刪改查操作。MyBatis 簡化了數(shù)據(jù)庫操作,并通過映射文件和接口讓開發(fā)者專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。

在實(shí)際開發(fā)中,MyBatis 還提供了豐富的功能,比如動(dòng)態(tài) SQL、分頁插件等,可以幫助開發(fā)者處理更加復(fù)雜的業(yè)務(wù)需求。在下一篇博客中,我們將深入探討 MyBatis 中的動(dòng)態(tài) SQL 和常見的 SQL 注入防范技巧。

到此這篇關(guān)于MyBatis最常用的增刪改查操作的文章就介紹到這了,更多相關(guān)MyBatis增刪改查操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 簡單了解Spring beanfactory循環(huán)依賴命名重復(fù)屬性

    簡單了解Spring beanfactory循環(huán)依賴命名重復(fù)屬性

    這篇文章主要介紹了簡單了解Spring beanfactory循環(huán)依賴命名重復(fù)2大屬性,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • java TreeMap源碼解析詳解

    java TreeMap源碼解析詳解

    這篇文章主要介紹了java TreeMap源碼解析詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • spring?cloud?gateway中配置uri三種方式

    spring?cloud?gateway中配置uri三種方式

    gateway?組件是SpringCloud?組件中的網(wǎng)關(guān)組件,主要是解決路由轉(zhuǎn)發(fā)的問題,跟nginx有點(diǎn)類似,區(qū)別是nginx多用在前端上,gateway用在后端上,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-08-08
  • SpringBoot中JPA實(shí)現(xiàn)Sort排序的三種方式小結(jié)

    SpringBoot中JPA實(shí)現(xiàn)Sort排序的三種方式小結(jié)

    這篇文章主要介紹了SpringBoot中JPA實(shí)現(xiàn)Sort排序的三種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • java8新特性 獲取list某一列的操作

    java8新特性 獲取list某一列的操作

    這篇文章主要介紹了java8新特性 獲取list某一列的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 淺談一下JVM垃圾回收算法

    淺談一下JVM垃圾回收算法

    這篇文章主要介紹了一下JVM垃圾回收算法,Java有著自己一套的內(nèi)存管理機(jī)制,不需要開發(fā)者去手動(dòng)釋放內(nèi)存,開發(fā)者只需要寫好代碼即可,運(yùn)行過程中產(chǎn)生的垃圾都由JVM回收,需要的朋友可以參考下
    2023-04-04
  • SpringBoot集成Nacos全過程

    SpringBoot集成Nacos全過程

    Nacos是阿里巴巴開源的項(xiàng)目,主要作為云原生應(yīng)用的注冊中心與配置中心,本文介紹Nacos的使用方法,包括依賴配置、配置文件的設(shè)置、啟動(dòng)類注解使用,以及如何實(shí)現(xiàn)配置文件的動(dòng)態(tài)刷新,使用Nacos可以有效管理和刷新服務(wù)配置,無需重啟應(yīng)用即可更新設(shè)置
    2024-09-09
  • SpringBoot+Vue3整合SSE實(shí)現(xiàn)實(shí)時(shí)消息推送

    SpringBoot+Vue3整合SSE實(shí)現(xiàn)實(shí)時(shí)消息推送

    這篇文章主要為大家詳細(xì)介紹了SpringBoot+Vue3整合SSE實(shí)現(xiàn)實(shí)時(shí)消息推送的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • 淺析Alibaba Nacos注冊中心源碼剖析

    淺析Alibaba Nacos注冊中心源碼剖析

    這篇文章主要介紹了淺析Alibaba Nacos注冊中心源碼剖析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Java中的SPI機(jī)制案例分享

    Java中的SPI機(jī)制案例分享

    這篇文章主要介紹了Java中的SPI機(jī)制案例分享,文章基于Java的相關(guān)資料展開SPI的詳細(xì)介紹,SPI的全稱是Service?Provider?Interface,服務(wù)提供者接口,下文更多相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論

衡山县| 湘潭市| 彰武县| 石河子市| 济宁市| 陆川县| 虎林市| 祁东县| 临泉县| 湖州市| 武乡县| 汉沽区| 文安县| 麟游县| 安陆市| 察雅县| 德格县| 成武县| 南华县| 龙南县| 甘德县| 余江县| 洛扎县| 九龙城区| 安丘市| 义乌市| 汉寿县| 易门县| 卢湾区| 化州市| 红河县| 平谷区| 绥中县| 综艺| 手机| 敦化市| 福建省| 共和县| 万山特区| 普兰县| 孟津县|