普通Maven项目配置MyBatis全过程(很适合初学者)

前言

编写本教程的目的:因为自己在查阅教程的时候经历过不太愉快的经历,所以就希望其他人能够避免我经历过的事情。因为他人的强大会激励自己变得更强大。所以读者的强大就是我的强大。这是一篇更加适合初学者的教程,如果你没有相关经验,那么这篇文章会很适合你。希望这篇文章能够帮助到你。话不多说,直接开始。

流程快速预览

  1. 准备数据源
  2. 搭建好项目框架
  3. 导入依赖
  4. 创建配置文件
  5. 创建工具类
  6. 创建实体类
  7. 创建mapper接口
  8. 创建映射文件
  9. 配置文件记录映射文件地址
  10.  测试类测试

开始搭建

数据源准备

在正式开始之前,确保你已经有了一个数据库,没有的话,请新建一个。然后我为你提供了一个数据表和表中的一条记录。这将是我们后续用于测试的辅助工具。

请按照以下步骤生成示例SQL代码:

  1. 打开你的数据库工具(例如,Navicat),确保已经连接到数据库服务器。
  2. 创建一个新的数据库(例如,命名为"mybatis_example")。(有的话,忽略这一步。)
  3. 在查询编辑器中输入以下SQL代码:
-- 创建示例数据表

CREATE TABLE student (

    id INT PRIMARY KEY AUTO_INCREMENT,

    name VARCHAR(255) NOT NULL,

    age INT NOT NULL

);

-- 插入示例数据

INSERT INTO student (name, age) VALUES ('John', 25);

搭建好项目框架

按照图例创建项目框架。

图表 1

图表 2

图表 3

图表 4

(这是后面补的一张图,里面的内容现在不用加。)

图表 5

 

导入依赖

将下面代码粘贴到你的pom.xml文件下

<dependencies>

        <!--      开始导入依赖-->

        <!--      junit 单元测试  -->

        <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>RELEASE</version>

            <scope>compile</scope>

        </dependency>

        <!--        log4j 日志记录-->

        <dependency>

            <groupId>org.slf4j</groupId>

            <artifactId>slf4j-log4j12</artifactId>

            <version>1.7.5</version>

        </dependency>

        <!-- Druid 连接池 -->

        <dependency>

            <groupId>com.alibaba</groupId>

            <artifactId>druid</artifactId>

            <version>1.2.3</version>

        </dependency>

        <!-- MyBatis 框架 -->

        <dependency>

            <groupId>org.mybatis</groupId>

            <artifactId>mybatis</artifactId>

            <version>3.5.11</version>

        </dependency>

        <!-- MySQL 数据库驱动 -->

        <dependency>

            <groupId>mysql</groupId>

            <artifactId>mysql-connector-java</artifactId>

            <version>8.0.30</version>

        </dependency>

</dependencies>

示例图例

图表 6

图表 7

创建配置文件

在resources文件夹下新建文件,文件名为“mybatis.xml”。

图表 8

 

粘贴下方代码到配置文件

<?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"> <!--这里的网址如果检测不到,就回看添加依赖时候的检测方法,多刷新几次就好了。-->

<!-- MyBatis核心配置文件 -->



<configuration>

    <!-- 环境配置 -->

    <environments default="development">

        <environment id="development">

            <!-- 事务管理器配置 -->

            <transactionManager type="JDBC"/>

            <!-- -->

            <!-- 数据源配置 -->

            <dataSource type="POOLED">

                <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <!--需要注意的是,msql8之前 不用加cj 这一步对应驱动,也就是mysql的连接依赖 -->

                <!-- 这一步用于连接到数据库 bankdb 这里是你自己的数据库名  characterEncoding=UTF-8 这里指定的是字符串的格式-->

                <property name="url" value="jdbc:mysql://localhost:3306/bankdb?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>

                <property name="username" value="root"/>  <!--用户名 -->

                <property name="password" value="root"/>  <!-- 密码 -->

            </dataSource>

        </environment>

    </environments>

</configuration>

创建log4j配置文件

图表 9

 

粘贴以下代码到配置文件内

# 设置根日志级别为DEBUG,将日志输出到A1 Appender
log4j.rootLogger=DEBUG, A1

# 将org.apache包下的日志级别设置为DEBUG
log4j.logger.org.apache=DEBUG

# 定义A1 Appender,将日志输出到控制台
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout

# 设置A1 Appender的日志输出格式
log4j.appender.A1.layout.ConversionPattern=[Log4j] %-d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c]-[%p] %m%n

创建工具类

这个工具类用于获取和管理 MyBatis 的 SqlSession 实例。通过 SqlSession 实例,可以进行数据库操作。

粘贴以下代码到自己的工具类,工具类命名为“MybatisUtil

private static SqlSessionFactory factory;//新建静态的SqlSession 实例对象    // 在类加载时初始化 SqlSessionFactory

    static {

        try {

            // 获取配置文件路径

            String resource = "mybatis.xml";

            // 通过资源流读取 MyBatis 配置文件

            InputStream inputStream = Resources.getResourceAsStream(resource);

            // 构建 SqlSessionFactory

            factory = new SqlSessionFactoryBuilder().build(inputStream);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }

    /**

     * 获取一个新的 SqlSession 实例。

     *

     * @return SqlSession 实例

     */

    public static SqlSession getSqlSession() {

        // 注意:参数 false 表示不自动提交事务

        return factory.openSession(false);

    }

    /**

     * 关闭 SqlSession 实例。

     *

     * @param sqlSession 要关闭的 SqlSession 实例

     */

    public static void closeSqlSession(SqlSession sqlSession) {

        if (sqlSession != null) {

            sqlSession.close();

        }

    }

创建实体类

按照最开始提供的表来做,注意实体类表名要和数据表的名字对应。所以表名应该是“Student”   

 private int id;    // 学号

    private String name;    // 姓名

    private int age;    // 年龄



    // 重写toString方法,用于方便输出Student对象的信息

    @Override

    public String toString() {

        return "Student{" +

                "id=" + id +

                ", name='" + name + '\'' +

                ", age=" + age +

                '}';

    }



    // Getter方法,用于获取学号

    public int getId() {

        return id;

    }



    // Setter方法,用于设置学号

    public void setId(int id) {

        this.id = id;

    }



    // Getter方法,用于获取姓名

    public String getName() {

        return name;

    }



    // Setter方法,用于设置姓名

    public void setName(String name) {

        this.name = name;

    }



    // Getter方法,用于获取年龄

    public int getAge() {

        return age;

    }



    // Setter方法,用于设置年龄

    public void setAge(int age) {

        this.age = age;

    }

创建mapper接口

接口的名字也有一定规范,规范的主要目的是要望文生义。就是便于理解。这里的接口名为“IStudentDao”

粘贴以下代码到接口文件内。(接口中一般只定义方法即可)

/**
 * 查询所有学生信息
 * @param id
 * @return
 */
Student selAll(String id) throws Exception;

创建映射文件

创建映射文件,跟创建MYBatis的配置文件一样,都是xml的后缀,只是内容不一样。

图表 10

粘贴下方代码到映射文件内

<?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.xja.studay.mapper.IStudentDao">
    <select id="selAll" resultType="com.xja.studay.entity.Student">
        SELECT * FROM student
    </select>
</mapper>

配置文件记录映射文件地址

这一步是比较容易出现错误的地方。主要就是工具缓存的问题或者自己的路径名称不对。这里右键点击文件,然后有个复制类别,选择合适的类别就好了。路径不要尝试手写。

图表 11

 

将下方代码粘贴到配置文件内

    <!-- 这是 MyBatis 的映射器配置部分 -->

    <mappers>

        <!-- 使用 <mapper> 标签来指定一个映射文件 -->

        <mapper resource="xml/StudentDao.xml"></mapper>

</mappers>

图表 12

 

测试类测试

还记得最初的测试结构吗?现在就可以派上用场了。新建测试文件,注意名称不要重复。

图表 13

 

新建好之后,粘贴以下代码到测试类中

@Test

    public void testSelAll() {

        // 获取一个 SqlSession 实例,用于与数据库交互

        SqlSession session = MybatisUtil.getSqlSession();



        // 通过 SqlSession 获取 StudentDao 接口的实例

        IStudentDao dao = session.getMapper(IStudentDao.class);



        String id = "1"; // 要查询的学生的学号



        try {

            Student student = new Student();



            // 调用接口方法执行查询操作

            student = dao.selAll(id);



            System.out.println(student); // 输出查询结果



        } catch (Exception e) {

            System.out.println("selAll方法执行时异常:" + e.getMessage());

            throw new RuntimeException(e);

        } finally {

            // 关闭资源,释放数据库连接

            MybatisUtil.closeSqlSession(session);

        }

}

运行之后会是这个样子。

图表 14

 

别的是日志内容,就不用管。

常见报错

静态初始化错误

 

找不到相关映射文件

解决办法:

  1. 检查自己的路径是否正确,记住,不要尝试手写!用复制的方式得到路径地址。
  2. 刷新IDE或当前工具缓存。不会的话就重启电脑。

查询返回值错误

解决方法:更换为正确的返回路径即可

 

其实细心的按照步骤来的话,就不会有什么错误。当然,希望你不会遇到错误。

MyBatis的作用

其实它的作用就是帮你写了数据访问层的代码。让你能够有更多的精力放到业务逻辑层上。没有它的话。就要写大量的数据访问层的代码,而且那些代码有固定的规律,也就是重复代码。感谢它的出现。让程序员的工作减轻了一些。

最后希望这篇文章能够帮助到你,若有幸能帮助到你,那将是我的荣幸。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Maven项目配置MyBatis需要进行以下几个步骤: 1. 在pom.xml中添加MyBatis数据库驱动的依赖。例如,对于MySQL数据库MyBatis 3.x版本,可以使用以下依赖: ```xml <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.x.x</version> </dependency> <!-- MySQL JDBC驱动 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>x.x.x</version> </dependency> <!-- 其他依赖... --> </dependencies> ``` 请将`x.x.x`替换为对应的版本号。 2. 在src/main/resources目录下创建一个名为`mybatis-config.xml`的文件,用于配置MyBatis。在该文件中,可以进行一些全局配置,例如数据库连接信息、别名等。以下是一个示例配置: ```xml <?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.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/mydatabase"/> <property name="username" value="root"/> <property name="password" value="password"/> </dataSource> </environment> </environments> <!-- 其他配置... --> </configuration> ``` 根据实际情况,修改`driver`、`url`、`username`和`password`的值以适应你的数据库连接信息。 3. 在Maven配置文件中添加MyBatis的插件,并指定MyBatis配置文件路径。在pom.xml文件中,添加以下内容: ```xml <build> <plugins> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId> <version>x.x.x</version> <configuration> <configurationFile>src/main/resources/mybatis-config.xml</configurationFile> <overwrite>true</overwrite> <verbose>true</verbose> </configuration> </plugin> </plugins> </build> ``` 请将`x.x.x`替换为对应的版本号。 以上是在Maven项目配置MyBatis的基本步骤。根据具体需求,还可以配置Mapper接口、Mapper映射文件等。在实际开发过程中,可能还需要进行更多的配置和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值