欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

一、簡介

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

本篇博客將詳細(xì)介紹 MyBatis 中最常用的操作:增、刪、改、查(CRUD)。我們將以一個簡單的 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 的增刪改查操作,我們需要一個數(shù)據(jù)庫表。在這里,我們使用一個簡單的 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)了對 user 表的增刪改查操作。MyBatis 簡化了數(shù)據(jù)庫操作,并通過映射文件和接口讓開發(fā)者專注于業(yè)務(wù)邏輯的實(shí)現(xiàn)。

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

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

相關(guān)文章

  • 實(shí)現(xiàn)java文章點(diǎn)擊量記錄實(shí)例

    實(shí)現(xiàn)java文章點(diǎn)擊量記錄實(shí)例

    這篇文章主要為大家介紹了實(shí)現(xiàn)java文章點(diǎn)擊量記錄實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-10-10
  • java實(shí)現(xiàn)點(diǎn)擊按鈕事件彈出子窗口

    java實(shí)現(xiàn)點(diǎn)擊按鈕事件彈出子窗口

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)點(diǎn)擊按鈕事件彈出子窗口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • JavaWeb如何實(shí)現(xiàn)禁用瀏覽器緩存

    JavaWeb如何實(shí)現(xiàn)禁用瀏覽器緩存

    這篇文章主要介紹了JavaWeb如何實(shí)現(xiàn)禁用瀏覽器緩存,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Spring Bean的Scope作用域詳解

    Spring Bean的Scope作用域詳解

    本文介紹了Spring框架中的BeanScope(作用域),包括Singleton(單例)和Prototype(原型)兩種常見作用域的定義、生命周期和適用場景
    2025-01-01
  • 通過JDBC連接oracle數(shù)據(jù)庫的十大技巧

    通過JDBC連接oracle數(shù)據(jù)庫的十大技巧

    通過JDBC連接oracle數(shù)據(jù)庫的十大技巧...
    2006-12-12
  • 詳解Java8合并兩個Map中元素的正確姿勢

    詳解Java8合并兩個Map中元素的正確姿勢

    這篇文章主要介紹了詳解Java8合并兩個Map中元素的正確姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • SpringBoot使用Jackson詳解

    SpringBoot使用Jackson詳解

    Spring?Boot中使用Jackson處理JavaBean序列化為JSON格式,常用框架包括Jackson、Fastjson和Gson,Jackson是Spring?Boot默認(rèn)的JSON處理庫,常用注解如@JsonProperty、@JsonIgnore、@JsonFormat等,用于自定義序列化和反序列化行為
    2025-02-02
  • Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

    Java spring boot 實(shí)現(xiàn)支付寶支付功能的示例代碼

    這篇文章主要介紹了Java spring boot 實(shí)現(xiàn)支付寶支付功能,本文通過實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • SpringBoot增量/瘦身部署jar包的方式

    SpringBoot增量/瘦身部署jar包的方式

    SpringBoot 項(xiàng)目的部署一般采用全量jar 包方式部署相關(guān)項(xiàng)目,如果我們對相關(guān)的Contrller層進(jìn)行相關(guān)業(yè)務(wù)調(diào)整就需要重新編譯全量jar 包太麻煩了,所以本文給大家介紹了使用SpringBoot 的增量/瘦身部署方式,需要的朋友可以參考下
    2024-01-01
  • Java多線程之簡單模擬售票功能

    Java多線程之簡單模擬售票功能

    這篇文章主要介紹了Java多線程之簡單模擬售票功能,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-04-04

最新評論