Mybatis詳解在注解sql時報錯的解決方法
錯誤:
在做Mybatis用注解方式來注入sql的練習時,報了這樣子的錯誤。
遇到錯誤很正常,然后我又從學了一遍今天剛剛學的內(nèi)容,溫故而知新嘛。
錯誤問題如下:
文件結(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的配置文件
這個映射用包用類其實都沒有影響,因為我們做的是注解配置
<?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>
分析:
從上面的文件看,我的問題很大部分原因應該在這個mapper的包里面。然后就是看參數(shù)有沒有個數(shù)對齊,但是也不會導致這樣的錯誤說是錯誤解析SQL Mapper配置,所以這個問題我一開始糾結(jié)于那個BookMapperSQL .java的內(nèi)容是不是寫錯了,研究了一個多小時,直接重學了一遍,哭了。
后來我在想,會不會是因為我拿的是我之前做的作業(yè)修改的而出現(xiàn)的問題。然后我就看了我之前的文件目錄
我突然想起之前做這個動態(tài)代理方式實現(xiàn)的方式時,pom.xml文件做了配置,指定了mapper包中。
難道就是因為指定了位置,文件加載所以出問題了嗎?所以我就把這段代碼注釋掉
,然后它就運行成功了。
當熱,我們在使用注解方式注入sql時,mapper包中沒必要再加這個文件了,只能說是自己愚鈍了,上網(wǎng)查都沒有人像我一樣這么烏龍了。
到此這篇關(guān)于Mybatis詳解在注解sql時報錯的解決方法的文章就介紹到這了,更多相關(guān)Mybatis 注解sql內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot使用Mybatis注解實現(xiàn)分頁動態(tài)sql開發(fā)教程
- Mybatis常用注解中的SQL注入實例詳解
- mybatisplus?@Select注解中拼寫動態(tài)sql異常問題的解決
- Mybatis注解方式完成輸入?yún)?shù)為list的SQL語句拼接方式
- 基于mybatis注解動態(tài)sql中foreach工具的方法
- mybatis注解動態(tài)sql注入map和list方式(防sql注入攻擊)
- 在Mybatis @Select注解中實現(xiàn)拼寫動態(tài)sql
- Spring Boot整合mybatis使用注解實現(xiàn)動態(tài)Sql、參數(shù)傳遞等常用操作(實現(xiàn)方法)
相關(guān)文章
自定義JmsListenerContainerFactory時,containerFactory字段解讀
這篇文章主要介紹了自定義JmsListenerContainerFactory時,containerFactory字段解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Android中PreferenceFragment的使用詳解
本文主要介紹了Android中PreferenceFragment的使用詳解,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09Hibernate雙向一對一映射關(guān)系配置代碼實例
這篇文章主要介紹了Hibernate雙向一對一映射關(guān)系配置代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-10-10Java源碼解析之Gateway請求轉(zhuǎn)發(fā)
今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著Gateway請求轉(zhuǎn)發(fā)展開,文中有非常詳細介紹及代碼示例,需要的朋友可以參考下2021-06-06Java+MySQL實現(xiàn)學生信息管理系統(tǒng)源碼
這篇文章主要為大家詳細介紹了Java+MySQL實現(xiàn)學生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-11-11feign調(diào)用返回object類型轉(zhuǎn)換方式
這篇文章主要介紹了feign調(diào)用返回object類型轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06解決SpringBoot ClassPathResource的大坑(FileNotFoundException)
這篇文章主要介紹了解決SpringBoot ClassPathResource的大坑(FileNotFoundException),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06