Mybatis-Annotation-Entwicklung @Wählen Sie die Ausführungsparameter und die Art und Weise aus, wie die SQL-Anweisung ausgeführt wird

  1. Parameterübergabe ausführen

@Select ist eine Annotation im Mybatis-Framework, die zum Ausführen von SQL-Abfrageanweisungen und zum Zuordnen der Abfrageergebnisse zu angegebenen Java-Objekten verwendet wird.
Insbesondere übergibt die Annotation @Select die SQL-Abfrageanweisung in der Annotation zur Analyse und Ausführung an das Mybatis-Framework. Während des Analysevorgangs ruft Mybatis die Parameter in der Abfrageanweisung über den Platzhalter #{} ab, übergibt diese Parameter an den zugrunde liegenden JDBC-Treiber und führt schließlich die SQL-Abfrage aus und gibt das Abfrageergebnis zurück.
Das Folgende ist beispielsweise ein einfaches Beispiel für die Abfrage von Benutzerinformationen mithilfe der @Select-Annotation:

public interface UserMapper {
    @Select("SELECT id, name, age FROM user WHERE id = #{userId}")
    User getUserById(int userId);
}

Im obigen Beispiel gibt die Annotation @Select eine SELECT-Abfrageanweisung an, die einen Platzhalter #{userId} enthält, der bei Ausführung der Abfrage durch den Wert des Methodenparameters userId ersetzt wird. Gleichzeitig gibt die Annotation @Param den Namen des Methodenparameters an, sodass Mybatis die Parameter in der Abfrageanweisung korrekt analysieren kann.
Wenn die getUserById-Methode aufgerufen wird, analysiert und führt das Mybatis-Framework die Abfrageanweisung automatisch aus, ordnet das Abfrageergebnis dem Benutzerobjekt zu und gibt es zurück.

  1. SQL-Anweisung ausführen

In der @Select-Annotation wird ein Platzhalter ${sql} verwendet, der zur Laufzeit durch den Wert des Methodenparameters sql ersetzt wird. Gleichzeitig wird hier direkt der Platzhalter ${sql} verwendet, sodass jede beliebige SQL-Anweisung als Methodenparameter übergeben werden kann.
Wenn Sie beispielsweise alle Buchinformationen abfragen möchten, können Sie die Methode getBooks("SELECT * FROM book") aufrufen und die SQL-Anweisung als String-Parameter übergeben. Das Mybatis-Framework generiert dynamisch SQL-Abfrageanweisungen basierend auf den übergebenen SQL-Anweisungen und führt Abfrageoperationen aus.

public interface BookMapper {
    @Select("${sql}")
    List<Book> getBooks(String sql);
}

おすすめ

転載: blog.csdn.net/m0_59799878/article/details/129875650