IDEA使用Maven和MyBatis简化数据库连接的详细过程

 更新时间:2025年09月15日 09:33:36   作者:counting money  
文章介绍了MyBatis框架的引入与基础配置,涵盖数据库表创建、依赖管理(MyBatis、MySQL驱动、Junit、log4j)、实体类与接口编写、SQL映射文件配置及SqlSessionFactory构建,最终通过测试验证了SQL查询功能的正常运行,感兴趣的朋友跟随小编一起看看吧

一、引入MyBatis:

1.后端对于前端数据的处理和反馈大致分为三个层:controller层负责前后端交互,service层负责进行逻辑处理,Dao层也叫持久层,负责连接数据库。

2.打开数据库,创建一个新的数据库并创建一个新的表来方便实验(我取的数据库名为“newtest”,表名为“student”的学生表)。在表中添加id、name、sex、age几个字段并填写数据:

3.打开pom.配置文件,在dependencies标签中导入mybatis和mysql的相关包(不需要实际导入,只需要拿到“坐标”):

具体引入的内容

(1). 引入MyBatis的3.4.5的版本的坐标,保证是MyBatis

(2). 引入MySQL驱动的jar包,5.1.6版本,保证能够连接到数据库

(3). 引入Junit单元测试的jar包

(4). 引入log4j的jar包,1.2.12版本(需要引入log4j.properties的配置文件)

在dependencies中填写

<dependencies>
<!--mybatis核心包--> 
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--mysql驱动包-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>

导入成功后,点击右上角的M标志刷新:

二、测试:

1.创建实体类:数据库映射到程序中还需要借助entity层,用于存储对应数据库中的信息(类对表,属性对应字段)。在main-->java-->com.newFile目录下创建一个“dao”包和“entity”包。在entity中创建students实体类(表名与类名无关,但字段名与属性名相关)。

填写属性和封装方法:

private int id;
    private String name;
    private int age;
    private String sex;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    //toString方法
    @Override
    public String toString() {
        return "students{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }

2.在dao中编写一个接口作为规范:在dao目录下创建一个名为“StudentDao”的接口文件(名字可以任取),我们先编写一个findAll方法测试:

package com.newFile.dao;
//引入students包
import com.newFile.entity.students;
//引入list
import java.util.List;
public interface StudentDao {
    //定义findAll方法查找所有内容
    public List<students> findAll();
}

3.创建接口的实现类:在main目录下创建一个resources资源目录,资源目录中存放着所有接口的实现类。再在resources中创建一个mapper目录存放接口的实现类(方便后续配置),在mapper目录下创建一个xml配置文件并通过配置文件创建接口的实现类,将配置文件命名为“StudentDao”并写入:

<?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.newFile.dao.StudentDao"></mapper>

再在resources目录下创建一个主配置文件命名为“SqlMapConfig.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="mysql">
        <environment id="mysql">
            <!--配置事务的类型,使用本地事务策略-->
            <transactionManager type="JDBC"></transactionManager>
            <!--是否使用连接池 POOLED表示使用链接池,UNPOOLED表示不使用连接池-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <!--student为数据库名-->
                <property name="url" value="jdbc:mysql://localhost:3306/newtest"/>
                <!--这里写你mysql数据库的用户名和密码-->
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <!--实现类的路径-->
        <mapper resource="mapper/StudentDao.xml"></mapper>
    </mappers>
</configuration>

在接口实现文件的“mapper”标签中就可以写sql语句了,实现的是findAll方法:

<select id="findAll" resultType="com.newFile.entity.students">
    select * from student
</select>

其中:(应该传入包装类型的类全名)

1.id表示接口中定义的对应方法

2.parameterType表示方法需要传入的参数

3.resultType表示返回值的类型

4.测试:

MyBatis官网:从 XML 中构建 SqlSessionFactory

每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。

从 XML 文件中构建 SqlSessionFactory 的实例非常简单,建议使用类路径下的资源文件进行配置。 但也可以使用任意的输入流(InputStream)实例,比如用文件路径字符串或 file:// URL 构造的输入流。MyBatis 包含一个名叫 Resources 的工具类,它包含一些实用方法,使得从类路径或其它位置加载资源文件更加容易。

SqlSession 是 MyBatis 框架的核心接口,用于执行 SQL 语句、管理事务以及获取映射器(Mapper)实例,是应用程序与持久层交互的直接入口。

1.在Test测试类中创建run方法:

    public void run() throws IOException {
        //主配置文件路径
        String resourcePath = "SqlMapConfig.xml";
        //加载主配置文件,为了拿到SqlSessionFactory
        InputStream inputStream = Resources.getResourceAsStream(resourcePath);
        //拿到SqlSessionFactory对象
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //创建SqlSession
        SqlSession session = sqlSessionFactory.openSession();
        //通过SqlSession对象创建studentDao接口的代理对象
        studentDao mapper = session.getMapper(studentDao.class);
        //通过代理访问接口中的方法
        List<students> arr = mapper.findAll();
        //打印输出
        for(students student : arr){
            System.out.println(student);
        }
    }

2.创建Test对象并执行run方法:

Test test = new Test();test.run();

输出结果:

第一个sql查询就成功了。

到此这篇关于IDEA使用Maven和MyBatis简化数据库连接的详细过程的文章就介绍到这了,更多相关idea简化数据库连接内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot web开发源码深入分析

    SpringBoot web开发源码深入分析

    Web开发的核心内容主要包括内嵌的Servlet容器和SpringMVCSpringBoot使用起来非常简洁,大部分配置都有SpringBoot自动装配,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • RocketMQ消息拉取过程详解

    RocketMQ消息拉取过程详解

    这篇文章主要为大家介绍了RocketMQ消息拉取过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • IDEA启动后控制台不报错,但是页面访问404的解决方案

    IDEA启动后控制台不报错,但是页面访问404的解决方案

    文章浏览阅读1.7w次,点赞23次,收藏71次。本文解决了一个SSM项目中因路径配置不当导致的404错误问题,通过调整控制器中的URL映射和视图返回路径,最终实现了项目的正常运行。
    2026-04-04
  • Java 对10个数进行排序的实现代码

    Java 对10个数进行排序的实现代码

    可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换
    2017-02-02
  • Java数学工具类MathUtil详解

    Java数学工具类MathUtil详解

    这篇文章主要为大家详细介绍了Java数学工具类MathUtil的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • java实现人员信息管理系统

    java实现人员信息管理系统

    这篇文章主要为大家详细介绍了java实现人员信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Java实现批量导出导入数据及附件文件zip包

    Java实现批量导出导入数据及附件文件zip包

    这篇文章主要为大家详细介绍了Java实现批量导出导入数据及附件文件zip包的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一
    2022-09-09
  • springboot普通类中如何获取session问题

    springboot普通类中如何获取session问题

    这篇文章主要介绍了springboot普通类中如何获取session问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • Swagger2配置Security授权认证全过程

    Swagger2配置Security授权认证全过程

    这篇文章主要介绍了Swagger2配置Security授权认证全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 如何通过Java监听MySQL数据的变化

    如何通过Java监听MySQL数据的变化

    对于二次开发来说,很大一部分就找找文件和找数据库的变化情况,下面这篇文章主要给大家介绍了关于如何通过Java监听MySQL数据的变化的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03

最新评论