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

MyBatis与MySql关系阐述

MyBatis是一个持久层(persistence layer)框架,用于简化Java应用程序与关系数据库(如MySQL)的交互。它通过消除大量冗余的JDBC代码,并提供了一个简单且易于使用的API,使得开发者可以更高效地进行数据库操作。以下是MyBatis与MySQL之间的关系和它们如何协同工作的详细说明:

MyBatis的基本概念

  1. SQL映射:MyBatis允许开发者在XML文件或注解中定义SQL查询、插入、更新和删除语句。这些SQL语句与Java对象之间的映射关系由MyBatis管理。

  2. 持久层框架:MyBatis负责管理Java应用程序中的持久层代码,简化了与数据库的交互过程。开发者可以专注于编写SQL,而不是处理繁琐的JDBC代码。

  3. 自动映射:MyBatis可以自动将数据库查询结果映射到Java对象,极大地简化了数据转换的过程。

MyBatis与MySQL的关系

  1. 数据源配置:在MyBatis中,开发者需要配置数据源(DataSource)以连接到MySQL数据库。数据源配置通常包括数据库URL、用户名、密码等信息。

  2. SQL映射文件:开发者可以在MyBatis的XML映射文件中定义SQL语句,这些SQL语句将被发送到MySQL数据库进行执行。例如:

    <select id="selectUser" resultType="User">SELECT id, username, password FROM users WHERE id = #{id}
    </select>
    
  3. MyBatis会话:通过MyBatis会话(SqlSession),开发者可以执行预定义的SQL语句并处理结果集。会话的管理由MyBatis提供的API负责。

  4. 对象映射:MyBatis将从MySQL数据库中检索到的结果集自动映射到Java对象中,使得数据处理变得更加简洁和直观。

SpringBoot如何使用MyBatis与MySQL进行集成

1. 安装和运行MySQL

安装MySQL

如果您的系统中还没有安装MySQL,可以根据您的操作系统选择以下命令来安装:

对于MacOS:

brew install mysql

对于Windows: 可以从MySQL官网下载MySQL安装程序进行安装。

启动MySQL服务

安装完成后,确保MySQL服务正在运行:

MacOS:

brew services start mysql

Windows: 通过“服务”应用程序启动MySQL服务,或者在命令提示符中运行:

net start mysql
登录MySQL并创建数据库
  1. 使用默认用户登录MySQL:

    mysql -u root -p

    初始密码为空,直接按回车

出现如下提示说明登录成功:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 24

Server version: 8.3.0 Homebrew

登录成功后建议修改密码,如果返回Query OK, 0 rows affected (0.01 sec)
,表示修改成功:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'
  1. 创建一个新的数据库:

    CREATE DATABASE blog_test;
  2. 查看所有数据库

show databases;

      3、使用指定数据库

USE blog_test;

   4、上述数据库下创建表,user_name和password两个字段

CREATE TABLE user (id INT AUTO_INCREMENT PRIMARY KEY,user_name VARCHAR(255) NOT NULL,password VARCHAR(255) NOT NULL
);

2. 配置Spring Boot项目连接MySQL

确保在您的Spring Boot项目中添加了MySQL依赖。在pom.xml中添加以下内容:

<dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency>
</dependencies>

3. 配置application.ymlapplication.properties

src/main/resources目录下创建或编辑application.ymlapplication.properties文件,配置数据库连接信息:

使用application.yml文件:

spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/blog_test?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10username: root # 或者您创建的用户password: 123456 # 或者您创建的用户密码hikari:maximum-pool-size: 10max-lifetime: 1770000mybatis:type-aliases-package: com.clw.lesson02.entityconfiguration:map-underscore-to-camel-case: truemapper-locations:- classpath:mapper/*.xml

使用application.properties文件:

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/blog_test?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&maxReconnects=10
spring.datasource.username=root # 或者您创建的用户
spring.datasource.password=123456 # 或者您创建的用户密码
spring.datasource.hikari.maximum-pool-size=10
spring.datasource.hikari.max-lifetime=1770000mybatis.type-aliases-package=com.clw.lesson02.entity
mybatis.configuration.map-underscore-to-camel-case=true
mybatis.mapper-locations=classpath:mapper/*.xml

我真是服了这个垃圾编辑器了

相关文章:

  • 视频字幕提取工具怎么使用?不妨看看这些教程
  • 使用pnpm创建vue3项目
  • linux 环境下动态链接库试验
  • YOLOv8改进 | 注意力机制 | 添加混合局部通道注意力——MLCA【原理讲解】
  • KafkaQ - 好用的 Kafka Linux 命令行可视化工具
  • vue.js+node.js+mysql在线聊天室源码
  • 006 CentOS 7.9 elasticsearch7.10.0安装及配置
  • 使用adb通过wifi连接手机
  • flask返回的数据怎么是转义后的字符串啊
  • Android framework的Zygote源码分析
  • 一步一步用numpy实现神经网络各种层
  • 云顶之弈-测试报告
  • 【数组】【快慢双指针】删除有序数组中的重复项+移除元素+删除有序数组中的重复项II
  • LabVIEW水箱液位控制系统
  • 使用python完成一个定时从版本库下载daily版本
  • classpath对获取配置文件的影响
  • CSS相对定位
  • Date型的使用
  • Facebook AccountKit 接入的坑点
  • Iterator 和 for...of 循环
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • magento2项目上线注意事项
  • python学习笔记-类对象的信息
  • QQ浏览器x5内核的兼容性问题
  • rabbitmq延迟消息示例
  • Spring Cloud中负载均衡器概览
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 动态规划入门(以爬楼梯为例)
  • 工作中总结前端开发流程--vue项目
  • 基于axios的vue插件,让http请求更简单
  • 基于web的全景—— Pannellum小试
  • 一、python与pycharm的安装
  • 移动端解决方案学习记录
  • 最近的计划
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Mac 上flink的安装与启动
  • 阿里云ACE认证学习知识点梳理
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • ​【已解决】npm install​卡主不动的情况
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • ​用户画像从0到100的构建思路
  • # Apache SeaTunnel 究竟是什么?
  • #1015 : KMP算法
  • #ifdef 的技巧用法
  • (1)Jupyter Notebook 下载及安装
  • (LeetCode 49)Anagrams
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (南京观海微电子)——I3C协议介绍
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)树状数组
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .NET 2.0中新增的一些TryGet,TryParse等方法