中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MyBatis-Plus如何自定義SQL

發布時間:2022-02-10 09:16:40 來源:億速云 閱讀:1013 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“MyBatis-Plus如何自定義SQL”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“MyBatis-Plus如何自定義SQL”這篇文章吧。

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

1.1  目錄結構

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

MyBatis-Plus如何自定義SQL

1.2   編寫實體類對應的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);
    }
}

結果:

可以發現,成功出現我們的信息了!

MyBatis-Plus如何自定義SQL

二、在src/main/java目錄下編寫XML

2.1  目錄結構

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

MyBatis-Plus如何自定義SQL

2.2   編寫實體類對應的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就去運行,那么會出現以下的錯誤

MyBatis-Plus如何自定義SQL

為什么呢?

這是因為在maven默認情況下是不會將src/main/java目錄的xml等資源打包進入class文件夾的,而是直接忽略掉。不信的話我們去看一下target目錄。

可以發現這里并沒有將我們的xml文件打包進去

MyBatis-Plus如何自定義SQL

解決方案配置pom.xml

我們只需在pom中加入如下配置,告訴idea,在編譯的時候將src/main/java下的xml一起打包進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);
    }
}

結果:

可以發現成功出現我們的數據庫信息了!

MyBatis-Plus如何自定義SQL

我們再去查看以下target目錄

MyBatis-Plus如何自定義SQL

可以發現,已經把我們的xml配置導進來了,如果發現還是沒有的話,建議把target目錄刪除,然后重新運行,就可以重新生成target目錄了,這時候就能發現你的xml文件了。

三、classpath和classpath*的區別

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

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

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

以上是“MyBatis-Plus如何自定義SQL”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新郑市| 资讯| 天镇县| 会东县| 泰和县| 江都市| 洪湖市| 金华市| 白银市| 湖北省| 巴林右旗| 当雄县| 肥乡县| 万载县| 墨脱县| 尤溪县| 广州市| 鹤庆县| 泽普县| 阜宁县| 丽水市| 清流县| 双城市| 西丰县| 兖州市| 通城县| 东明县| 通榆县| 巴东县| 友谊县| 社会| 乌鲁木齐县| 榆林市| 古丈县| 绥芬河市| 闻喜县| 榆中县| 祥云县| 泰来县| 兴安县| SHOW|