Heim > Backend-Entwicklung > PHP-Tutorial > Java-Backend-Entwicklung: Verwendung von MyBatis für den Datenzugriff

Java-Backend-Entwicklung: Verwendung von MyBatis für den Datenzugriff

PHPz
Freigeben: 2023-06-17 09:50:02
Original
1125 Leute haben es durchsucht

Java-Backend-Entwicklung: Verwenden Sie MyBatis für den Datenzugriff

MyBatis ist ein hervorragendes Java-Persistenz-Framework, das in der Java-Backend-Entwicklung weit verbreitet ist. MyBatis kann Entwicklern effektiv dabei helfen, den Datenzugriffsprozess zu realisieren und den Anwendungsentwicklungszyklus zu verkürzen.

In diesem Artikel wird die Anwendung von MyBatis in der Java-Backend-Entwicklung vorgestellt, einschließlich der Konfiguration der MyBatis-Umgebung, der Verwendung von MyBatis für den Datenzugriff usw.

  1. MyBatis-Umgebungskonfiguration

Sie müssen die Umgebung konfigurieren, bevor Sie MyBatis verwenden können. Im Folgenden stellen wir kurz vor, wie man es konfiguriert.

1.1 Datenbankkonfiguration

MyBatis muss über eine Konfigurationsdatei eine Verbindung zur Datenbank herstellen. Sie müssen eine Konfigurationsdatei mit dem Namen „mybatis-config.xml“ im Ressourcenverzeichnis erstellen.

Konfigurationsdatenquelle:

<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!-- 此处配置Mapper文件 -->

    </mappers>
</configuration>
Nach dem Login kopieren

1.2 Mapper-Konfiguration

Mapper ist die Implementierungsklasse der Dao-Schnittstelle. Sie müssen MyBatis über eine Konfigurationsdatei mit Mapper verknüpfen. Die Korrelationsmethode lautet wie folgt:

<mappers>
    <!-- 配置Mapper文件 -->
    <mapper resource="com/test/userMapper.xml"/>

</mappers>
Nach dem Login kopieren

Jede in der Mapper-Konfigurationsdatei definierte SQL-Anweisung entspricht einer Methode in der Mapper-Schnittstellenklasse. Daher ist es am besten, bei der Definition der Mapper-Schnittstellenmethode die entsprechende SQL-Anweisung anzugeben.

Beispiel für eine Mapper-Schnittstellenklasse:

public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = #{id}")
    public User selectUserById(int id);

    @Insert("INSERT INTO user (username, password) VALUES (#{username}, #{password})")
    public int addUser(User user);

    @Update("UPDATE user SET password = #{password} WHERE id = #{id}")
    public int updateUserById(User user);

    @Delete("DELETE FROM user WHERE id = #{id}")
    public int deleteUserById(int id);
}
Nach dem Login kopieren
  1. MyBatis-Nutzung

Nach Abschluss der Umgebungskonfiguration können Sie MyBatis für den Datenzugriff verwenden.

Wenn Sie MyBatis in einem Java-Projekt verwenden, müssen Sie ein SqlSessionFactory-Objekt gemäß der Konfigurationsdatei erstellen, dann ein SqlSession-Objekt über das SqlSessionFactory-Objekt erstellen und schließlich den Datenzugriff über das SqlSession-Objekt durchführen.

2.1 SqlSessionFactory

SqlSessionFactory ist eine Factory-Klasse zum Erstellen von SqlSession. In der MyBatis-Umgebung gibt es viele Möglichkeiten, SqlSessionFactory-Objekte zu erstellen, beispielsweise über die SqlSessionFactoryBuilder-Klasse, über XML-Dateien usw.

Erstellen Sie ein SqlSessionFactory-Objekt über SqlSessionFactoryBuilder:

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
Nach dem Login kopieren

2.2 SqlSession

SqlSession ist eine der wichtigsten Klassen in MyBatis, um den Datenzugriff abzuschließen. Alle Datenbankoperationen werden über das SqlSession-Objekt abgeschlossen.

Erstellen Sie ein SqlSession-Objekt über SqlSessionFactory:

SqlSession session = sqlSessionFactory.openSession();
Nach dem Login kopieren

Verwenden Sie das SqlSession-Objekt, um auf die Datenbank zuzugreifen:

// 获取Mapper接口对象
UserMapper userMapper = session.getMapper(UserMapper.class);

// 调用Mapper方法获取数据
User user = userMapper.selectUserById(1);

// 事务提交
session.commit();

// 关闭SqlSession对象
session.close();
Nach dem Login kopieren
  1. MyBatis-Anwendungsfall

Sehen wir uns einen tatsächlichen MyBatis-Anwendungsfall an, um die Verwendung von MyBatis durch Abfragen von Benutzerinformationen zu demonstrieren .

3.1 Definieren Sie die Mapper-Schnittstelle.

public interface UserMapper {
    public User selectUserById(int id);
}
Nach dem Login kopieren

3.2 Definieren Sie die Benutzerklasse.

public class User {
    private int id;
    private String username;
    private String password;
    private String email;
    //...getter/setter
}
Nach dem Login kopieren

3.3 Schreiben Sie die Mapper-Konfigurationsdatei . Es kann helfen Entwickler schließen den Datenzugriffsprozess effizient ab. In diesem Artikel wird die Anwendung von MyBatis in der Java-Back-End-Entwicklung vorgestellt, einschließlich Umgebungskonfiguration, Verwendung und Anzeige von Anwendungsfällen. Wir glauben, dass dieser Artikel eine gute Referenz für Entwickler sein kann, die den Datenzugriff auf MyBatis erlernen möchten.

Das obige ist der detaillierte Inhalt vonJava-Backend-Entwicklung: Verwendung von MyBatis für den Datenzugriff. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage