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
,返回一个代理对象,可以通过该对象调用定义在UserMapper
rrreee
<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!