Maison  >  Article  >  Java  >  Analyser comment configurer la connexion à la base de données dans MyBatis

Analyser comment configurer la connexion à la base de données dans MyBatis

WBOY
WBOYoriginal
2024-02-19 15:03:221198parcourir

Analyser comment configurer la connexion à la base de données dans MyBatis

Explication détaillée des étapes de connexion à la base de données de configuration MyBatis, des exemples de code spécifiques sont requis

MyBatis est un framework de couche de persistance open source populaire, largement utilisé dans le développement Java. Lorsque vous utilisez MyBatis pour les opérations de base de données, vous devez d'abord configurer la connexion à la base de données. Cet article présentera en détail comment configurer la connexion à la base de données MyBatis et joindra des exemples de code spécifiques.

1. Ajouter des dépendances

Tout d'abord, ajoutez les dépendances MyBatis à votre projet. Vous pouvez ajouter le contenu suivant au fichier pom.xml du projet :

<dependencies>
    <!-- MyBatis依赖 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.6</version>
    </dependency>
    <!-- 数据库驱动依赖,根据你使用的数据库类型选择对应的驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>
</dependencies>

Ici, nous prenons la base de données MySQL comme exemple, en utilisant le pilote officiel de MySQL mysql-connector-java.

2. Créer une base de données

Avant de configurer MyBatis, vous devez créer la base de données et les tables correspondantes. Vous pouvez utiliser la ligne de commande MySQL ou des outils visuels pour créer une base de données, telle que :

CREATE DATABASE mybatis_demo;

USE mybatis_demo;

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50),
    age INT
);

3. Configurez MyBatis

Créez un fichier de configuration nommé mybatis-config.xml dans le projet pour configurer le connexion à la base de données. Généralement, ce fichier se trouve dans le répertoire src/main/resources du projet. mybatis-config.xml的配置文件,用于配置数据库连接。一般情况下,该文件位于项目的src/main/resources目录下。

<?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>
    <!-- 数据库连接配置 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <!-- 数据库驱动类名 -->
                <property name="driver" value="com.mysql.cj.jdbc.Driver" />
                <!-- 数据库连接URL -->
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo?useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8" />
                <!-- 数据库用户名 -->
                <property name="username" value="root" />
                <!-- 数据库密码 -->
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
    <!-- 映射器配置,用于定义SQL语句和Java类之间的映射关系 -->
    <mappers>
        <!-- 可以配置多个映射器,这里以Mapper接口为例 -->
        <mapper resource="com/example/mapper/UserMapper.xml" />
    </mappers>
</configuration>

配置中的<environment></environment>标签用于指定数据库连接环境,可以配置多个数据库连接环境,这里使用了默认的development环境。在<datasource></datasource>标签中,使用了POOLED类型的数据源,表示使用连接池来管理数据库连接。

四、创建Mapper接口

com.example.mapper包下创建一个名为UserMapper.java的接口文件,用于定义SQL语句和Java类之间的映射关系。

public interface UserMapper {
    // 查询所有用户
    List<User> getAllUsers();
    // 根据ID查询用户
    User getUserById(int id);
    // 插入用户
    void insertUser(User user);
    // 更新用户
    void updateUser(User user);
    // 删除用户
    void deleteUser(int id);
}

在该接口中定义了一些常用的数据库操作方法,可以根据实际需求进行扩展。

五、创建Mapper XML文件

com.example.mapper包下创建一个名为UserMapper.xml的XML文件,用于编写SQL语句和映射规则。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.UserMapper">
    <!-- 查询所有用户 -->
    <select id="getAllUsers" resultType="com.example.model.User">
        SELECT * FROM user
    </select>
    <!-- 根据ID查询用户 -->
    <select id="getUserById" parameterType="int" resultType="com.example.model.User">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <!-- 插入用户 -->
    <insert id="insertUser" parameterType="com.example.model.User">
        INSERT INTO user (name, age) VALUES (#{name}, #{age})
    </insert>
    <!-- 更新用户 -->
    <update id="updateUser" parameterType="com.example.model.User">
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>
    <!-- 删除用户 -->
    <delete id="deleteUser" parameterType="int">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>

在该XML文件中,使用了namespace属性指定了Mapper接口的全限定名,如果Mapper接口和XML文件位于不同的包下,需要正确配置namespace

六、使用MyBatis进行数据库操作

在Java代码中使用MyBatis进行数据库操作,需要先创建一个SqlSessionFactory对象,然后通过该对象创建一个SqlSession对象,并利用SqlSession对象执行数据库操作。

public class App {
    public static void main(String[] args) {
        // 创建MyBatis配置文件的输入流
        InputStream inputStream = App.class.getResourceAsStream("/mybatis-config.xml");
        // 创建SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        // 创建SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();

        try {
            // 获取UserMapper对象
            UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
            // 调用数据库操作方法
            List<User> users = userMapper.getAllUsers();
            System.out.println(users);
        } finally {
            // 关闭SqlSession
            sqlSession.close();
        }
    }
}

以上代码示例中,通过getResourceAsStream方法获取了MyBatis配置文件的输入流,然后创建了SqlSessionFactory对象。接着,通过openSession方法创建了一个SqlSession对象,在getMapper方法中传入了UserMapper.class,返回一个代理对象,可以通过该对象调用定义在UserMapperrrreee

La balise <environment></environment> dans la configuration est utilisée pour spécifier l'environnement de connexion à la base de données. Plusieurs environnements de connexion à la base de données peuvent être configurés. L'environnement developpement par défaut est utilisé ici. . Dans la balise <datasource></datasource>, une source de données de type POOLED est utilisée, indiquant que le pool de connexions est utilisé pour gérer les connexions à la base de données.

4. Créer une interface Mapper🎜🎜Créez un fichier d'interface nommé UserMapper.java sous le package com.example.mapper pour définir la relation de mappage des instructions SQL et des classes Java entre elles. . 🎜rrreee🎜 Définit certaines méthodes courantes de fonctionnement de la base de données dans cette interface, qui peuvent être étendues en fonction des besoins réels. 🎜🎜5. Créer un fichier XML Mapper🎜🎜Créez un fichier XML nommé UserMapper.xml sous le package com.example.mapper pour écrire des instructions SQL et des règles de mappage. 🎜rrreee🎜Dans ce fichier XML, l'attribut namespace est utilisé pour spécifier le nom complet de l'interface Mapper et si l'interface Mapper et le fichier XML se trouvent dans des packages différents, namespace<. doit configur correctement code>. 🎜🎜6. Utilisez MyBatis pour les opérations de base de données🎜🎜Pour utiliser MyBatis pour les opérations de base de données dans le code Java, vous devez d'abord créer un objet <code>SqlSessionFactory, puis créer un objet SqlSession. via cet objet et utilisez l'objet SqlSession pour effectuer des opérations de base de données. 🎜rrreee🎜Dans l'exemple de code ci-dessus, le flux d'entrée du fichier de configuration MyBatis est obtenu via la méthode getResourceAsStream, puis l'objet SqlSessionFactory est créé. Ensuite, un objet SqlSession est créé via la méthode openSession et UserMapper.class est passé dans la méthode getMapper. . Renvoie un objet proxy via lequel les méthodes définies dans l'interface UserMapper peuvent être appelées. 🎜🎜Jusqu'à présent, nous avons présenté en détail les étapes de configuration de la connexion à la base de données dans MyBatis et joint des exemples de code spécifiques. J'espère que cet article vous aidera à comprendre et à utiliser MyBatis. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn