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

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

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

前言

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

一、在src/main/resource目錄下編寫XML

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

我們將UserMapper.xml放在resource下的mapper目錄中,我的整個項目目錄如下

1.2   編寫實體類對應(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  編寫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  測試

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目錄下編寫XML

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

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

2.2   編寫實體類對應(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   編寫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   編寫配置文件

application.properties:

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

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

這一步非常重要,因為如果沒有配置pom.xml就去運行,那么會出現(xiàn)以下的錯誤。

為什么呢?

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

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

解決方案配置pom.xml

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

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

2.6  測試

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ù)庫信息了!

我們再去查看以下target目錄

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

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

classpath:只會在你的class路徑下尋找

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

一般來說,在大型公司的項目開發(fā)中都會需要用到classpath*進(jìn)行文件配置,因為通常會用到第三方的jar,所以大多情況下會需要查找這些jar的配置文件。

小結(jié)

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

總結(jié)

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

相關(guān)文章

最新評論