一、添加依赖
mybatis依赖
如果你使用的是 Maven等构建工具,你需要在项目的构建文件中添加对 MyBatis JAR 文件的依赖。
打开项目的 pom.xml 文件,在其中添加依赖的配置。
<dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.13</version> </dependency> <!-- 其他依赖 --> </dependencies>
mysql依赖
在MySQL的依赖是通过使用相关的数据库驱动程序实现的。要在MyBatis中使用MySQL,您需要在项目的构建文件中添加MySQL驱动程序的依赖项。
打开项目的 pom.xml 文件,在其中添加依赖的配置。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency>
JUnit 5单元测试
JUnit 5是一个功能强大且灵活的单元测试框架,它提供了丰富的工具和API,使得编写和运行单元测试变得更简洁、可读性更好,并具有更好的扩展性和定制性。
打开项目的 pom.xml 文件,在其中添加依赖的配置。
<dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.7.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.7.2</version> <scope>test</scope> </dependency>
Slf4j 依赖
使用 Slf4j 可以让你的应用程序与具体的日志实现库解耦,从而可以灵活地切换和配置不同的日志库,例如 Log4j、Logback等。
打开项目的 pom.xml 文件,在其中添加依赖的配置。
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.32</version> <!-- 替换为您想要使用的Slf4j版本 --> </dependency>
Logback框架
1、logback-core:logback-core是Logback框架的核心组件,它提供了日志记录的基本功能和API。它实现了日志事件的处理和分发,以及日志的格式化和输出等核心功能。logback-core是一个独立的模块,可以与其他日志门面(如Slf4j)配合使用。
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.6</version> <!-- 替换为您想要使用的版本 --> </dependency>
2、logback-classic:logback-classic是logback框架的经典实现,它扩展了logback-core,并提供了对Slf4j的支持。它使用Slf4j作为日志门面,并提供了与Slf4j的互操作性,可以无缝地与Slf4j集成。logback-classic还提供了更多的功能,如上下文(Context)管理、日志配置文件解析、配置自动重新加载等。
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.6</version> <!-- 替换为您想要使用的Logback版本 --> </dependency>
二、logback.xml配置文件
在main的资源resources目录下创建 logback.xml 文件
这是一个简单的logback.xml配置文件,将日志输出到控制台,将日志输出到文件。
<configuration> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.FileAppender"> <file>logs/application.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> </root> </configuration>
三、Mapper.xml映射文件
MyBatis的映射文件用于定义数据库操作的SQL语句和映射关系,它的主要作用是将Java代码与SQL语句和数据库表之间进行映射,实现数据的持久化操作。
在Mapper XML文件中,您可以定义各种数据库操作,如查询、插入、更新、删除等。
在main的资源resources目录下创建 Mapper.xml文件
<!-- MyMapper.xml --> <?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 配置文件的命名空间被命名为 nameull--> <mapper namespace="nameull"> <!--id="idull":指定了该查询语句的唯一标识符,可以通过这个标识符在代码中进行调用--> <!--查询结果的每一行将会映射为一个 com.example.mybatis.pojo.User 类型的实例--> <select id="idull" resultType="com.example.mybatis.pojo.User"> <!-- 查询所有--> select * from tb_user; </select> </mapper>
0、idea连接数据库,
1、创建 com.example.mybatis.pojo 包 User 类,把创建表结构sql代码复制User类中;
2、创建 com.example.mybatis.mapper 包 Usermapper 类;
四、mybatis-config.xml配置文件
在main的资源resources目录下创建 mybatis-config.xml 文件
用于配置 MyBatis 的运行参数,以下是一个基本配置示例:
<configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <!-- 配置您的数据库连接信息 --> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/数据库名"/> <property name="username" value="root"/> <property name="password" value="password"/> </dataSource> </environment> </environments> <mappers> <!-- 在这里添加您的数据访问接口 Mapper.xml映射文件 --> <mapper resource="MyMapper.xml"/> </mappers> </configuration>
五、测试类
创建 com.example.mybatis.text 包 MyBatisText 类;
package com.example.mybatis.text; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import java.io.IOException; import java.io.InputStream; import java.util.List; public class MyBatisTest { public static <User> void main(String[] args) { try { // 加载mybatis核心配置文件,获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 获取SqlSession对象 SqlSession sqlSession = sqlSessionFactory.openSession(); // 执行查询操作 // nameull.idull,Mapper.xml映射文件(前面提过) List<User> userList = sqlSession.selectList("nameull.idull"); for (User user : userList) { System.out.println(user); } // 关闭SqlSession sqlSession.close(); } catch (IOException e) { e.printStackTrace(); } } }