Mybatis詳解在注解sql時(shí)報(bào)錯(cuò)的解決方法
錯(cuò)誤:
在做Mybatis用注解方式來(lái)注入sql的練習(xí)時(shí),報(bào)了這樣子的錯(cuò)誤。
遇到錯(cuò)誤很正常,然后我又從學(xué)了一遍今天剛剛學(xué)的內(nèi)容,溫故而知新嘛。
錯(cuò)誤問題如下:


文件結(jié)構(gòu)
BookMapper.java
public interface BookMapper {
@SelectProvider(type = BookMapperSQL.class,method = "bookSelectById")
Book bookSelectById(int id);
}BookMapperSQL .java
public class BookMapperSQL {
public String bookSelectById(final int id){
return new SQL().
SELECT("*")
.FROM("t_user")
.WHERE("id=#{id}").toString();
}
}然后我把BookMapper.xml的內(nèi)容都刪完了,沒有把文件刪掉,目錄如下:

Mybatis的配置文件
這個(gè)映射用包用類其實(shí)都沒有影響,因?yàn)槲覀冏龅氖亲⒔馀渲?/p>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<properties resource="Dd.properties"/>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<typeAliases>
<package name="org.example.po"/>
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${db.driver}"/>
<property name="url" value="${db.url}"/>
<property name="username" value="${db.username}"/>
<property name="password" value="${db.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- <mapper class="org.example.mapper.BookMapper"/>-->
<package name="org.example.mapper"/>
</mappers>
</configuration>分析:
從上面的文件看,我的問題很大部分原因應(yīng)該在這個(gè)mapper的包里面。然后就是看參數(shù)有沒有個(gè)數(shù)對(duì)齊,但是也不會(huì)導(dǎo)致這樣的錯(cuò)誤說(shuō)是錯(cuò)誤解析SQL Mapper配置,所以這個(gè)問題我一開始糾結(jié)于那個(gè)BookMapperSQL .java的內(nèi)容是不是寫錯(cuò)了,研究了一個(gè)多小時(shí),直接重學(xué)了一遍,哭了。
后來(lái)我在想,會(huì)不會(huì)是因?yàn)槲夷玫氖俏抑白龅淖鳂I(yè)修改的而出現(xiàn)的問題。然后我就看了我之前的文件目錄

我突然想起之前做這個(gè)動(dòng)態(tài)代理方式實(shí)現(xiàn)的方式時(shí),pom.xml文件做了配置,指定了mapper包中。

難道就是因?yàn)橹付宋恢?,文件加載所以出問題了嗎?所以我就把這段代碼注釋掉
,然后它就運(yùn)行成功了。

當(dāng)熱,我們?cè)谑褂米⒔夥绞阶⑷雜ql時(shí),mapper包中沒必要再加這個(gè)文件了,只能說(shuō)是自己愚鈍了,上網(wǎng)查都沒有人像我一樣這么烏龍了。
到此這篇關(guān)于Mybatis詳解在注解sql時(shí)報(bào)錯(cuò)的解決方法的文章就介紹到這了,更多相關(guān)Mybatis 注解sql內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot使用Mybatis注解實(shí)現(xiàn)分頁(yè)動(dòng)態(tài)sql開發(fā)教程
- Mybatis常用注解中的SQL注入實(shí)例詳解
- mybatisplus?@Select注解中拼寫動(dòng)態(tài)sql異常問題的解決
- Mybatis注解方式完成輸入?yún)?shù)為list的SQL語(yǔ)句拼接方式
- 基于mybatis注解動(dòng)態(tài)sql中foreach工具的方法
- mybatis注解動(dòng)態(tài)sql注入map和list方式(防sql注入攻擊)
- 在Mybatis @Select注解中實(shí)現(xiàn)拼寫動(dòng)態(tài)sql
- Spring Boot整合mybatis使用注解實(shí)現(xiàn)動(dòng)態(tài)Sql、參數(shù)傳遞等常用操作(實(shí)現(xiàn)方法)
相關(guān)文章
自定義JmsListenerContainerFactory時(shí),containerFactory字段解讀
這篇文章主要介紹了自定義JmsListenerContainerFactory時(shí),containerFactory字段解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
Android中PreferenceFragment的使用詳解
本文主要介紹了Android中PreferenceFragment的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Hibernate雙向一對(duì)一映射關(guān)系配置代碼實(shí)例
這篇文章主要介紹了Hibernate雙向一對(duì)一映射關(guān)系配置代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10
Java源碼解析之Gateway請(qǐng)求轉(zhuǎn)發(fā)
今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Gateway請(qǐng)求轉(zhuǎn)發(fā)展開,文中有非常詳細(xì)介紹及代碼示例,需要的朋友可以參考下2021-06-06
Java+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)源碼
這篇文章主要為大家詳細(xì)介紹了Java+MySQL實(shí)現(xiàn)學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
springboot實(shí)現(xiàn)登錄功能的完整步驟
這篇文章主要給大家介紹了關(guān)于springboot實(shí)現(xiàn)登錄功能的完整步驟,在web應(yīng)用程序中,用戶登錄權(quán)限驗(yàn)證是非常重要的一個(gè)步驟,文中通過(guò)代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
feign調(diào)用返回object類型轉(zhuǎn)換方式
這篇文章主要介紹了feign調(diào)用返回object類型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
springboot controller無(wú)效的處理方案
這篇文章主要介紹了springboot controller無(wú)效的處理方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
解決SpringBoot ClassPathResource的大坑(FileNotFoundException)
這篇文章主要介紹了解決SpringBoot ClassPathResource的大坑(FileNotFoundException),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06

