亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MyBatis-Plus自定義SQL的詳細(xì)過(guò)程記錄

 更新時(shí)間:2022年02月09日 14:13:40   作者:一心同學(xué)  
Java開(kāi)發(fā)使用mybatis-plus來(lái)執(zhí)行sql操作,往往比mybatis能夠省時(shí)省力,下面這篇文章主要給大家介紹了關(guān)于MyBatis-Plus自定義SQL的相關(guān)資料,需要的朋友可以參考下

前言

當(dāng)我們?cè)陂_(kāi)發(fā)過(guò)程中,如果MyBatis-Plus中的SQL語(yǔ)句并不能滿足我們的需求,那么我們可以在XML文件中自定義SQL語(yǔ)句,這樣的話我們就可以在MyBatis-Plus的基礎(chǔ)上繼續(xù)提高我們的開(kāi)發(fā)效率了。本篇博客也將講解如何在src/main/resource目錄下和src/main/java目錄下對(duì)XML的配置。

一、在src/main/resource目錄下編寫(xiě)XML

1.1  目錄結(jié)構(gòu)

我們將UserMapper.xml放在resource下的mapper目錄中,我的整個(gè)項(xiàng)目目錄如下

1.2   編寫(xiě)實(shí)體類對(duì)應(yīng)的Mapper接口

Tip:我們這里自定義了getAll()方法,獲取全部用戶的信息。

package com.yixin.mapper;
 
import com.yixin.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
 
import java.util.List;
 
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author yixin
 * @since 2022-01-17
 */
@Repository
public interface UserMapper extends BaseMapper<User> {
 
    public List<User> getAll();
 
}

1.3  編寫(xiě)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 namespace="com.yixin.mapper.UserMapper">
 
    <select id="getAll" resultType="com.yixin.pojo.User">
        select * from user
    </select>
 
</mapper>

1.4  在配置文件中掃描我們的xml配置的位置。

application.properties:

mybatis-plus.mapper-locations=classpath:/mapper/**.xml

1.5  測(cè)試

import org.springframework.boot.test.context.SpringBootTest;
 
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
 
@SpringBootTest
class AutoApplicationTests {
 
 
    @Autowired
    private UserMapper userMapper;
 
    @Test
    void test() {
 
        List<User> userList=userMapper.getAll();
        System.out.println(userList);
    }
}

結(jié)果:

可以發(fā)現(xiàn),成功出現(xiàn)我們的信息了!

二、在src/main/java目錄下編寫(xiě)XML

2.1  目錄結(jié)構(gòu)

TIp:在java下的mapeer目錄中建立存放我們的xml配置的目錄xml包

2.2   編寫(xiě)實(shí)體類對(duì)應(yīng)的Mapper接口

package com.yixin.mapper;
 
import com.yixin.pojo.User;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
 
import java.util.List;
 
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author yixin
 * @since 2022-01-17
 */
@Repository
public interface UserMapper extends BaseMapper<User> {
 
    public List<User> getAll();
 
}

2.3   編寫(xiě)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 namespace="com.yixin.mapper.UserMapper">
 
    <select id="getAll" resultType="com.yixin.pojo.User">
        select * from user
    </select>
 
</mapper>

2.4   編寫(xiě)配置文件

application.properties:

mybatis-plus.mapper-locations=classpath:com/yixin/mapper/xml/UserMapper.xml

2.5  ?? 配置pom.xml(重要)??

這一步非常重要,因?yàn)?strong>如果沒(méi)有配置pom.xml就去運(yùn)行,那么會(huì)出現(xiàn)以下的錯(cuò)誤。

為什么呢?

這是因?yàn)樵趍aven默認(rèn)情況下是不會(huì)將src/main/java目錄的xml等資源打包進(jìn)入class文件夾的,而是直接忽略掉。不信的話我們?nèi)タ匆幌聇arget目錄。

可以發(fā)現(xiàn)這里并沒(méi)有將我們的xml文件打包進(jìn)去

解決方案配置pom.xml

我們只需在pom中加入如下配置,告訴idea,在編譯的時(shí)候?qū)?strong>src/main/java下的xml一起打包進(jìn)class文件夾中,這樣也就不會(huì)報(bào)異常了。

<build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>

2.6  測(cè)試

import org.springframework.boot.test.context.SpringBootTest;
 
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
 
@SpringBootTest
class AutoApplicationTests {
 
 
    @Autowired
    private UserMapper userMapper;
 
    @Test
    void test() {
 
        List<User> userList=userMapper.getAll();
        System.out.println(userList);
    }
}

結(jié)果:

可以發(fā)現(xiàn)成功出現(xiàn)我們的數(shù)據(jù)庫(kù)信息了!

我們?cè)偃ゲ榭匆韵?strong>target目錄:

可以發(fā)現(xiàn),已經(jīng)把我們的xml配置導(dǎo)進(jìn)來(lái)了,如果發(fā)現(xiàn)還是沒(méi)有的話,建議把target目錄刪除,然后重新運(yùn)行,就可以重新生成target目錄了,這時(shí)候就能發(fā)現(xiàn)你的xml文件了。

三、classpath和classpath*的區(qū)別

classpath:只會(huì)在你的class路徑下尋找

classpath*:不僅包含class路徑,還包括jar文件中(class路徑)進(jìn)行查找

一般來(lái)說(shuō),在大型公司的項(xiàng)目開(kāi)發(fā)中都會(huì)需要用到classpath*進(jìn)行文件配置,因?yàn)橥ǔ?huì)用到第三方的jar,所以大多情況下會(huì)需要查找這些jar的配置文件。

小結(jié)

以上就是【一心同學(xué)】對(duì)在MyBatis-Plus中【自定義SQL】的步驟和注意事項(xiàng)的講解,【自定義SQL】可以幫助我們?cè)贛yBatis-Plus的基礎(chǔ)上去編寫(xiě)我們自己的SQL語(yǔ)句,讓我們的開(kāi)發(fā)變得【十分高效】。

總結(jié)

到此這篇關(guān)于MyBatis-Plus自定義SQL的文章就介紹到這了,更多相關(guān)MyBatis-Plus自定義SQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring?Boot?整合?Fisco?Bcos部署、調(diào)用區(qū)塊鏈合約的案例

    Spring?Boot?整合?Fisco?Bcos部署、調(diào)用區(qū)塊鏈合約的案例

    本篇文章介紹?Spring?Boot?整合?Fisco?Bcos?的相關(guān)技術(shù),最最重要的技術(shù)點(diǎn),部署、調(diào)用區(qū)塊鏈合約的工程案例,本文通過(guò)流程分析給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-01-01
  • icePDF去水印的方法(推薦)

    icePDF去水印的方法(推薦)

    下面小編就為大家?guī)?lái)一篇icePDF去水印的方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • idea 創(chuàng)建properties配置文件的步驟

    idea 創(chuàng)建properties配置文件的步驟

    這篇文章主要介紹了idea 創(chuàng)建properties配置文件的步驟,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Java8中Stream?API的peek()方法詳解及需要注意的坑

    Java8中Stream?API的peek()方法詳解及需要注意的坑

    這篇文章主要給大家介紹了關(guān)于Java8中Stream?API的peek()方法詳解及需要注意的坑,Java 中的 peek 方法是 Java 8 中的 Stream API 中的一個(gè)方法,它屬于中間操作,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Java字母加數(shù)字組合比較大小

    Java字母加數(shù)字組合比較大小

    這篇文章主要通過(guò)實(shí)現(xiàn)Comarable接口來(lái)比較(如"a20"和"a9"這種)字符串的大小,希望能給大家做一個(gè)參考。
    2016-06-06
  • Java 服務(wù)端消息推送的實(shí)現(xiàn)小結(jié)

    Java 服務(wù)端消息推送的實(shí)現(xiàn)小結(jié)

    本文主要介紹了Java 服務(wù)端消息推送的實(shí)現(xiàn)小結(jié),主要包括四種常見(jiàn)的消息實(shí)時(shí)推送方案:短輪詢、長(zhǎng)輪詢、SSE?和?WebSocket,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • Java實(shí)現(xiàn)分解任意輸入數(shù)的質(zhì)因數(shù)算法示例

    Java實(shí)現(xiàn)分解任意輸入數(shù)的質(zhì)因數(shù)算法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)分解任意輸入數(shù)的質(zhì)因數(shù)算法,涉及java數(shù)學(xué)運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • Mybatis輸入輸出映射及動(dòng)態(tài)SQL Review

    Mybatis輸入輸出映射及動(dòng)態(tài)SQL Review

    這篇文章主要介紹了Mybatis輸入輸出映射及動(dòng)態(tài)SQL Review,需要的朋友可以參考下
    2017-02-02
  • Java StringBuffer與StringBuilder有什么區(qū)別

    Java StringBuffer與StringBuilder有什么區(qū)別

    當(dāng)對(duì)字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder類,和String類不同的是,StringBuffer和 StringBuilder類的對(duì)象能夠被多次的修改,并且不產(chǎn)生新的未使用對(duì)象,本篇我們來(lái)分析分析它們的區(qū)別
    2023-01-01
  • 復(fù)雜JSON字符串轉(zhuǎn)換為Java嵌套對(duì)象的實(shí)現(xiàn)

    復(fù)雜JSON字符串轉(zhuǎn)換為Java嵌套對(duì)象的實(shí)現(xiàn)

    這篇文章主要介紹了復(fù)雜JSON字符串轉(zhuǎn)換為Java嵌套對(duì)象的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09

最新評(píng)論