当前位置: 首页 > article >正文

[JAVA]MyBatis环境配置介绍

什么是MyBatis环境配置?

MyBatis是基于JDBC对数据库进行操作,在我们进行数据操作时,我们需要告诉MyBatis我们连接哪个数据库,ip地址,数据库名称,用户名密码等。以此来进行环境配置。

首先,MyBatis使用xml形式来保存了环境配置信息,在本章中描述配置的文件名叫mybatis-config-xml,在核心配置文件中:

  • MyBatis采用XML格式配置数据库环境信息
  • MyBatis环境配置标签<environment>
  • environment包含数据库驱动,URL,用户名和密码

                                                  mybatis-config.xml

<!--配置环境,不同的环境不同的id名字>
<environment id="dev">
  <!--采用JDBC方式对数据库事务进行commit/rollback-->
  <transactionManager type ="JDBC"></transactionManager>
  <!--采用连接池方式管理数据库连接-->
  <dataSource type ="POOLED">
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    <property name="url" value="jdbc:mysql://localhost:3306/db"/>
    <property name="usename" value="root"/>
    <property name="possword" value="root"/>
  </dataSource>
</environment>

通过这样的配置,告诉了MyBatis我们创建了一个环境名为dev,指向了本地3306的db数据库,用户名和密码为root,作为数据库的事务采用JDBC的方式进行提交和回滚,而所有的数据库连接被MyBatis使用数据库连接池进行有效的管理,我们在IDEA中代码演示如何使用此案例

配置MyBatis的前置工作,首先在pom.xml增加依赖

<dependencies>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.1</version>
        </dependency>
</dependencies>

这里有个小问题,作为Maven来说,他的中央仓库是在国外服务器上,有时候下载比较困难,会导致无法正常下载,为了解决这个问题,我们可以在pom.xml中增加repositories仓库和repository标签,将下载的服务器指向国内阿里云镜像上

 <repositories>
        <repository>
            <id>aliyun</id>
            <name>aliyun</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </repository>
 </repositories>

 将这个地址 加入以后,我们任何新产生的依赖都默认会从这个镜像仓库优先下载,如果镜像仓库没有的话,才从远程仓库下载,这样极大的提高了我们Maven的下载速度

因为我们用MySQL作为底层的数据库,MySQL的JDBC驱动我们需要对其引入

 <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
 </dependency>

此时查看IDEA左侧目录,可以看到上述pom.xml添加的两项依赖下载成功

f90c4c6754ab4bec92b1bf4ccb789bc3.png

把pom.xml写好以后,我们需要思考涉及到数据库的增删改查工作,我们就需要有对应的数据库和演示用的表才行,作为IDEA来说,它提供了一个便捷的工具可以直接作为MySQL客户端来使用

我们可以看到IDEA的右侧有Database标签,点击后会出现这个界面

 这个面板就是IDEA为我们内置的数据库客户端,我们点击+号,在下拉列表中找到Data Source数据源,右侧找到MySQL

15f0d0c7c60a447eaf5b08a32ba3d54a.png

在弹出的面板中 ,我们可以输入数据库连接的信息,输入用户名,密码等

1c7e99adc1964768be8f0041fc8cfed1.png

点击OK后,在原有的Database 面板中就会出现Localhost这个选项,展开后就发现我们对应的数据库,我们现在需要创建一个全新的数据库以及导入初始化的表

739e83f121bc48b499b96c57eed2bf96.png

 我们右键点击tables, 选择Run SQL Script..(代表运行SQL脚本),然后在我们源代码下找到准备好的sql脚本

14ad349a676b45d296d7c6a77af8e00b.png

运行这条SQL语句,短暂的等待后SQL脚本就被执行成功,同时在原有的数据库tables上增加了一条babytun的数据库,展开以后它有五张表

cf55f7a895f447cfb2bb5dc3f46b3212.png

双击查看t_goods_param表内容23c63ca045df4c6a994483ba38b6bf92.png

加入依赖和JDBC驱动,并且有了可演示的数据表后,我们就可以进入环境配置的阶段。

配置MyBatis

在resources目录下,我们要创建一个新的File文件,文件名命名为mybatis-config.xml

6b2d13bbc9a1426e88e3439575945e55.png

在这个xml文件中,我们首先要增加他的xml声明部分

<?xml version="1.0" encoding="UTF-8" ?>

其次我们要增加mybatis文档约束

<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Cogfig 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

在configuration标签中写入环境配置

                                                  mybatis-config.xml

<configuration>
   //--设置默认指向的数据库
   <environments default="dev">
      //--配置环境,不同的环境不同的id名字
      <environment id="dev">
        //采用JDBC方式对数据库的事务进行commit/rollback管理
        <transactionManager type="JDBC "></transactionManager>
        //采用连接池方式管理数据库连接
        <dataSource type="POOLED">
            <property name="driver" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/babytun?useUnicode=true&amp;characterEncoding=UTF-8"/>
            <property name="username" value="root"/>
            <property name="password" value="root"/>
         </dataSource>
      </environment>
   </environments>
</configuration>

 以上是Mybatis配置环境的主要方法,另外我们还要学习基于数据库的环境来创建SqlSessionFactory来验证环境配置是否正确。 

那什么是SqlSessionFactory?

1.它是MyBatis框架中的一个核心工厂类,主要的作用是用于创建SqlSession对象。就像一个工厂,负责生产出可以用于操作数据库的“工具”(既SqlSession)

2.是MyBatis初始化工作的关键,本质上是加载配置文件来完成对于MyBatis的初始化。比如在MyBatis的配置文件(mybatis-config.xml)中,会定义数据库连接的相关参数(如数据库的URL,用户名,密码,数据库驱动等),还有映射文件(mapper.xml)的位置等信息,SqlSessionFactory会读取这些配置信息,解析它们,并根据这些配置来创建SqlSession对象

3.在我们平时使用时,SqlSessionFactory本质上是加载配置文件来完成对于MyBatis初始化工作,初次以外,数据库表的增删改查相关工作由SqlSession对象来完成

SqlSession对象有哪些特性呢?

1.SqlSession是MyBatis操作数据库的核心对象

在MyBatis框架中,SqlSession处于关键的位置,就像是一个连接MyBatis和数据库操作的桥梁。SqlSession使用JDBC方式与数据库交互

2.JDBC(Java Database Connectivity)是Java语言中用于连接数据库的标准接口。

SqlSession在底层是基于JDBC来实现与数据库的交互的,当我们通过SqlSession执行一个查询操作时,它实际上是在内部构建和执行JDBC的相关语句。比如,SqlSession会根据我们的配置和请求,准备好SQL语句,通过JDBC驱动建立与数据库的连接,将SQL语句发送到数据库服务器,然后获取数据库返回的结果。

3.SqlSession对象提供了数据表CRUD对应方法

CRUD是指数据库操作中的创建(Create),(读取Read),更新(Update)和删除(Delect)操作。

 下个文章我们将通过代码演示SqlSessionFactory和SqlSession是如何创建的!


http://www.kler.cn/a/399559.html

相关文章:

  • ReactPress与WordPress:一场内容管理系统的较量
  • 【SQL】mysql常用命令
  • Python中的with语句
  • Spring Boot 接口防重复提交解决方案
  • RTSP播放器EasyPlayer.js播放器UniApp或者内嵌其他App里面webview需要截图下载
  • 开源科学工程技术软件介绍 – EDA工具KLayout
  • Pytest-Bdd-Playwright 系列教程(9):使用 数据表(DataTable 参数) 来传递参数
  • 【论文阅读】主动推理:作为感知行为的理论
  • hadoop分布式文件系统常用命令
  • ssm118亿互游在线平台设计与开发+vue(论文+源码)_kaic
  • Flutter 新建工程一直等待 解决办法
  • ajax异步请求和嵌套 iframe 资源访问的区别
  • 计算机组成原理笔记----基础篇
  • 【Qualcomm 】CDSP介绍以及简单的使用
  • 探索Python的HTTP利器:Requests库的神秘面纱
  • 基于YOLOv8深度学习的汽车车身车损检测系统研究与实现(PyQt5界面+数据集+训练代码)
  • 如何在Mysql中生成0-23完整的小时数据
  • Docker:查看镜像里的文件
  • 【Android】Android滑动冲突解决方案
  • Android 13 实现屏幕熄屏一段时候后关闭 Wi-Fi 和清空多任务列表
  • UnoCss 安装
  • 【前端知识】Vue组件Vuex详细介绍
  • Ceph层次架构分析
  • 【日志】力扣11.盛水最多的容器
  • git配置用户信息
  • 使用Aria2实现离线下载