[Mybatis] Ocorreu um erro ao anotar sql

1. Erro:

Ao fazer o exercício do Mybatis injetando sql com anotações, reportei tal erro.

É normal encontrar erros, e então aprendi o conteúdo que acabei de aprender hoje, revisando o antigo e aprendendo coisas novas.

A questão do erro é a seguinte:

2. Estrutura do arquivo:

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();

    }
}

Então eu deletei todo o conteúdo do BookMapper.xml sem deletar o arquivo. O diretório é o seguinte:

 

Arquivo de configuração do Mybatis

Esse mapeamento com pacote e classe não tem efeito, pois estamos fazendo configuração de anotação

<?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>

3. Análise:

      Do arquivo acima, a maioria dos meus problemas deve estar no pacote do mapeador. Depois é ver se o número de parâmetros está alinhado, mas não vai causar tal erro.Diz-se que a configuração do SQL Mapper está analisada incorretamente , por isso fiquei enredado nesta questão a princípio se o conteúdo do BookMapperSQL. java estava escrito incorretamente, e eu estudei mais de um.Horas, eu reaprendi direto e chorei.

      Mais tarde, me perguntei se o problema ocorreu porque peguei o dever de casa que fiz antes e o modifiquei. Então eu olhei para o meu diretório de arquivos anterior

       De repente, lembrei que quando implementei esse método de proxy dinâmico antes, o arquivo pom.xml foi configurado e especificado no pacote do mapeador.

 É por causa do local especificado e do carregamento do arquivo que há um problema? Então eu apenas comentei este código

, então ele é executado com sucesso. 

Quando está quente, quando usamos anotações para injetar sql, não há necessidade de adicionar esse arquivo ao pacote do mapeador, só posso dizer que sou estúpido, e ninguém é tão vago quanto eu quando faço check-in online.

Acho que você gosta

Origin blog.csdn.net/m0_56233309/article/details/123561569
Recomendado
Clasificación