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

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作)

這篇具有很好參考價(jià)值的文章主要介紹了MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

1. 配置打印 MyBatis 執(zhí)行的SQL

2. 查詢操作

2.1 通過(guò)用戶 ID 查詢用戶信息、查詢所有用戶信息

(1) Mapper 接口

(2)UserMapper.xml 查詢所有用戶的具體實(shí)現(xiàn) SQL

(3)進(jìn)行單元測(cè)試

3. 增加操作

3.1 在 mapper(interface)里面添加增加方法的聲明

3.2 在 XMl 中添加 標(biāo)簽和增加的 sql 代碼

3.3 生成測(cè)試類(lèi)

?4.修改操作

4.1 在 mapper(interface)里面添加修改方法的聲明

4.2 在 XMl 中添加 標(biāo)簽和修改的 sql 代碼

4.3 生成測(cè)試類(lèi)

?5. 刪除操作

5.1 在 mapper(interface)里面添加刪除方法的聲明

5.2 在 XMl 中添加 標(biāo)簽和刪除的 sql 代碼

5.3 生成測(cè)試類(lèi)


1. 配置打印 MyBatis 執(zhí)行的SQL

#mybatis 中 xml 保存路徑
mybatis:
  mapper-locations:
    - classpath:mybatis/**Mapper.xml
  configuration: # 配置打印 MyBatis 執(zhí)行的 SQL
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# 配置打印 MyBatis 執(zhí)行的 SQL
logging:
  level:
    com:
      example:
        demo: debug

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

可以看出MyBatis的底層就是JDBC,最終還是會(huì)生成JDBC的,只是MyBatis幫我們?nèi)?zhí)行了?

2. 查詢操作

2.1 通過(guò)用戶 ID 查詢用戶信息、查詢所有用戶信息

(1) Mapper 接口

@Mapper// 和五大類(lèi)注解是一樣的
public interface UserMapper {
    /**
     * 根據(jù)用戶 id 查詢用戶信息
     * @param id
     * @return
     */
    Userinfo getUserById(@Param("id") Integer id);

    /**
     * 查詢?nèi)?     * @return
     */
    List<Userinfo> getAllUser();
}

(2)UserMapper.xml 查詢所有用戶的具體實(shí)現(xiàn) SQL

<?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.example.ssmdemo1.mapper.UserMapper">
    <select id="getUserById" resultType="com.example.ssmdemo1.entity.Userinfo">
        select * from userinfo where id=#{id}
    </select>
    <select id="getAll" resultType="com.example.ssmdemo1.entity.Userinfo">
        select * from userinfo
    </select>
</mapper>

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

(3)進(jìn)行單元測(cè)試

?MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

單元測(cè)試知識(shí)點(diǎn)擊此處

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

添加單元測(cè)試業(yè)務(wù)邏輯?

@SpringBootTest// 1.表明當(dāng)前單元測(cè)試是運(yùn)行在Spring Boot環(huán)境中的
@Transactional // 開(kāi)啟一個(gè)事務(wù),執(zhí)行完恢復(fù)數(shù)據(jù)
class UserMapperTest {

    @Autowired// 2.注入測(cè)試對(duì)象:屬性注入
    private UserMapper userMapper;

    @Test
//    @Transactional
    void getUserById() {
        // 3.添加單元測(cè)試的業(yè)務(wù)代碼
        Userinfo userinfo = userMapper.getUserById(1);
        System.out.println(userinfo);
        Assertions.assertEquals("admin",userinfo.getUsername());
    }



    @Test
    void getAllUser() {
        List<Userinfo> list = userMapper.getAllUser();
        Assertions.assertEquals(1,list.size());
    }
}

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

3. 增加操作

3.1 在 mapper(interface)里面添加增加方法的聲明

/**
     * 添加操作
     * @return
     */
    int add(Userinfo userinfo);

3.2 在 XMl 中添加 標(biāo)簽和增加的 sql 代碼

在這里我們傳的是個(gè)對(duì)象,該怎么寫(xiě)呢?

是不是需要對(duì)象打點(diǎn)呢,不需要,直接去寫(xiě)對(duì)象的具體的屬性就行了

<!--    只能得到受影響的行數(shù)-->
    <insert id="add">
        insert into userinfo (username,password,createtime,updatetime)
        values(#{username},#{password},#{createtime},#{updatetime})
    </insert>

注意:insert 操作只能得到受影響的行數(shù),所以不需要添加resultType

3.3 生成測(cè)試類(lèi)

@SpringBootTest// 1.表明當(dāng)前單元測(cè)試是運(yùn)行在Spring Boot環(huán)境中的
@Transactional // 開(kāi)啟一個(gè)事務(wù),執(zhí)行完恢復(fù)數(shù)據(jù)
class UserMapperTest {

    @Autowired// 2.注入測(cè)試對(duì)象:屬性注入
    private UserMapper userMapper;

    @Test
    void add() {
        // 偽代碼,構(gòu)建對(duì)象并設(shè)置相應(yīng)的值
        Userinfo userinfo = new Userinfo();
        userinfo.setUsername("李四");
        userinfo.setPassword("123456");
        userinfo.setCreatetime(LocalDateTime.now());
        userinfo.setUpdatetime(LocalDateTime.now());
        // 調(diào)用MyBatis 添加方法執(zhí)行添加操作
        int resule = userMapper.add(userinfo);

        int uid = userinfo.getId();
        System.out.println("user2的ID = " + uid);

        Assertions.assertEquals(1,resule);
    }

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

在這里我抱著試一試的想法去看能不能得到用戶的id

可以看見(jiàn)用這個(gè)方法是拿不到的

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

?4.修改操作

4.1 在 mapper(interface)里面添加修改方法的聲明

@Mapper
public interface UserMapper {

   /**
     * 修改用戶
     */
    int updateUserName(Userinfo userinfo);
}

4.2 在 XMl 中添加 標(biāo)簽和修改的 sql 代碼

<!--    默認(rèn)返回受影響的行數(shù)-->
    <update id="updateUserName">
        update userinfo set username=#{username} where id=#{id}
    </update>

4.3 生成測(cè)試類(lèi)

 @Test
    void updateUserName() {
        // 偽代碼,構(gòu)建測(cè)試數(shù)據(jù)
        Userinfo userinfo = new Userinfo();
        userinfo.setId(5);// 修改id為5的用戶
        userinfo.setUsername("老五");
        int result = userMapper.updateUserName(userinfo);

        System.out.println("修改:" + result);
        Assertions.assertEquals(1,result);
    }

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

?5. 刪除操作

5.1 在 mapper(interface)里面添加刪除方法的聲明

@Mapper// 和五大類(lèi)注解是一樣的
public interface UserMapper {

    /**
     * 刪除對(duì)象
     */
    int delByName(@Param("id") Integer id);
}

5.2 在 XMl 中添加 標(biāo)簽和刪除的 sql 代碼

<!--    默認(rèn)返回受影響的行數(shù)-->
    <delete id="delByName">
        delete from userinfo where id = ${id}
    </delete>

5.3 生成測(cè)試類(lèi)

 @Test
    void delByName() {
        Integer id = 5;
        int resule = userMapper.delByName(id);
        System.out.println("刪除:" + resule);
        Assertions.assertEquals(1,resule);
    }

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端

MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作),mybatis,java,數(shù)據(jù)庫(kù),spring,spring boot,后端文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-627505.html

到了這里,關(guān)于MyBatis 查詢數(shù)據(jù)庫(kù)之二(增、刪、改、查操作)的文章就介紹完了。如果您還想了解更多內(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)文章

  • MyBatis查詢數(shù)據(jù)庫(kù)(4)

    MyBatis查詢數(shù)據(jù)庫(kù)(4)

    ??????SSM專欄更新中,各位大佬覺(jué)得寫(xiě)得不錯(cuò),支持一下,感謝了!?????? Spring + Spring MVC + MyBatis_冷兮雪的博客-CSDN博客 終于到了MyBatis最后一篇,這篇講的是 動(dòng)態(tài)SQL的使用。 動(dòng)態(tài) SQL?是Mybatis的強(qiáng)大特性之?,能夠完成不同條件下不同的 SQL?拼接。 可以參考官

    2024年02月14日
    瀏覽(39)
  • MyBatis查詢數(shù)據(jù)庫(kù)(2)

    MyBatis查詢數(shù)據(jù)庫(kù)(2)

    目錄 前言?? 一、增刪查改操作?? 1、查?? Ⅰ、mapper接口:?? Ⅱ、UserMapper.xml 查詢所有用戶的具體實(shí)現(xiàn) SQL:?? Ⅲ、進(jìn)行單元測(cè)試?? 2、增、刪、改操作?? Ⅰ、增?? 添加用戶?? 添加用戶并且返回自增 id?? Ⅱ、改?? 根據(jù)id修改用戶名?? 開(kāi)啟 MyBatis sql 日志打印?? Ⅲ、

    2024年02月16日
    瀏覽(21)
  • 【Java】Mybatis查詢數(shù)據(jù)庫(kù)

    【Java】Mybatis查詢數(shù)據(jù)庫(kù)

    經(jīng)過(guò)前面的學(xué)習(xí)Spring系列的操作已經(jīng)差不多了,接下來(lái)我們繼續(xù)學(xué)習(xí)更加重要的知識(shí),將前端傳遞的參數(shù)存儲(chǔ)起來(lái),或者查詢數(shù)據(jù)庫(kù)里面的數(shù)據(jù) MyBatis是款優(yōu)秀的持久層框架,它支持自定義SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。MyBatis幾乎祛除了所有的JDBC代碼以及設(shè)置參數(shù)和獲取結(jié)果集

    2024年01月18日
    瀏覽(44)
  • MyBatis 查詢數(shù)據(jù)庫(kù)、持久層框架簡(jiǎn)介

    MyBatis 查詢數(shù)據(jù)庫(kù)、持久層框架簡(jiǎn)介

    MyBatis是一款優(yōu)秀的持久層框架,支持自定義SQL、存儲(chǔ)過(guò)程以及高級(jí)映射。它通過(guò)簡(jiǎn)單的XML或注解來(lái)配置和映射原始類(lèi)型、接口和Java POJO為數(shù)據(jù)庫(kù)中的記錄。

    2024年02月12日
    瀏覽(16)
  • 認(rèn)識(shí) MyBatis + MyBatis如何使用 (MyBatis操作數(shù)據(jù)庫(kù))

    認(rèn)識(shí) MyBatis + MyBatis如何使用 (MyBatis操作數(shù)據(jù)庫(kù))

    本篇介紹了什么是MyBatis,MyBatis的前期配置,MyBatis操作數(shù)據(jù)庫(kù)的兩種方式:.xml文件 / 注釋,使用MyBatis的一些注意,如有錯(cuò)誤,請(qǐng)?jiān)谠u(píng)論區(qū)指正,讓我們一起交流,共同進(jìn)步! 本文開(kāi)始 MyBatis(ORM: 對(duì)象關(guān)系映射框架): 一個(gè)持久層框架,也是一個(gè)工具實(shí)現(xiàn)程序與數(shù)據(jù)庫(kù)交互,

    2024年02月14日
    瀏覽(20)
  • MyBatis查詢數(shù)據(jù)庫(kù)之一(概念+創(chuàng)建項(xiàng)目+基礎(chǔ)交互)

    MyBatis查詢數(shù)據(jù)庫(kù)之一(概念+創(chuàng)建項(xiàng)目+基礎(chǔ)交互)

    目錄 1.MyBatis是什么? 2.為什么學(xué)習(xí)MyBatis? 3. 怎么學(xué) MyBatis 4.第?個(gè)MyBatis查詢 4.1 添加MyBatis框架支持 4.1.1老項(xiàng)目添加MyBatis 4.1.2 新項(xiàng)目添加MyBatis 4.2 配置連接字符串和MyBatis 4.2.1 配置連接字符串 4.2.2 配置 MyBatis 中的 XML 路徑 5. 使用 MyBatis 的操作模式操作數(shù)據(jù)庫(kù) 5.1 添加實(shí)體類(lèi)

    2024年02月13日
    瀏覽(46)
  • MyBatis操作數(shù)據(jù)庫(kù)

    MyBatis操作數(shù)據(jù)庫(kù)

    MyBatis 是?款優(yōu)秀的 持久層框架 ,它?持?定義 SQL、存儲(chǔ)過(guò)程以及?級(jí)映射。MyBatis 去除了?乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的?作。MyBatis 可以通過(guò)簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類(lèi)型、接?和 Java POJO(Plain Old Java Objects,普通?式 Java 對(duì)象)為數(shù)據(jù)庫(kù)中的

    2024年02月16日
    瀏覽(18)
  • Java EE 突擊 13 - MyBatis 查詢數(shù)據(jù)庫(kù)(2)

    Java EE 突擊 13 - MyBatis 查詢數(shù)據(jù)庫(kù)(2)

    這個(gè)專欄給大家介紹一下 Java 家族的核心產(chǎn)品 - SSM 框架 JavaEE 進(jìn)階專欄 Java 語(yǔ)言能走到現(xiàn)在 , 仍然屹立不衰的原因 , 有一部分就是因?yàn)?SSM 框架的存在 接下來(lái) , 博主會(huì)帶大家了解一下 Spring、Spring Boot、Spring MVC、MyBatis 相關(guān)知識(shí)點(diǎn) 并且?guī)ьI(lǐng)大家進(jìn)行環(huán)境的配置 , 讓大家真正用好

    2024年02月11日
    瀏覽(58)
  • MyBatis操作數(shù)據(jù)庫(kù)實(shí)現(xiàn)

    MyBatis操作數(shù)據(jù)庫(kù)實(shí)現(xiàn)

    說(shuō)明:MyBatis是作用于三層架構(gòu)開(kāi)發(fā),數(shù)據(jù)訪問(wèn)層(Data Access Object)的框架,用于訪問(wèn)數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)進(jìn)行操作。 首先,創(chuàng)建一個(gè)SpringBoot模塊,然后把MyBatis的環(huán)境搭建起來(lái)。因?yàn)镸yBatis是作用于Dao層的,故先省去Service層,重點(diǎn)關(guān)注Dao層中與數(shù)據(jù)庫(kù)的交流。 (1)創(chuàng)建Springboot模

    2024年02月08日
    瀏覽(19)
  • 超細(xì)詳解MyBatis操作數(shù)據(jù)庫(kù)(1)

    超細(xì)詳解MyBatis操作數(shù)據(jù)庫(kù)(1)

    MyBatis 是?款優(yōu)秀的持久層框架,它?持?定義 SQL、存儲(chǔ)過(guò)程以及?級(jí)映射。 MyBatis 去除了幾乎所有的 JDBC 代碼以及設(shè)置參數(shù)和獲取結(jié)果集的?作。 MyBatis 可以通過(guò)簡(jiǎn)單的 XML 或注解來(lái)配置和映射原始類(lèi)型、接?和 Java POJO(Plain Old Java Objects,普通?式 Java 對(duì)象)為數(shù)據(jù)庫(kù)中的

    2024年02月04日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包