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

IDEA使用Maven和MyBatis简化数据库连接(配置篇)

目录:

Maven:简化项目构建

MyBatis:简化Jdbc


Maven:是一款项目构建与依赖管理工具,核心作用是自动化项目编译、打包等流程,并统一管理项目所需的第三方 Jar 包(如 MyBatis 的 Jar 包)。

MyBatis:是一款持久层框架,核心作用是简化 Java 程序对数据库的操作(如 SQL 执行、结果映射),解决 JDBC 编程繁琐的问题。


在实际开发中,二者的配合方式通常是:通过 Maven 的 pom.xml  文件引入 MyBatis 的依赖,让 Maven 自动下载并管理 MyBatis 的 Jar 包,开发者则可以专注于使用 MyBatis 编写数据库操作代码。

Maven:简化项目构建

没有 Maven
1. 需手动从官网下载第三方 Jar 包(如 MyBatis、Spring 的 Jar 包)。
2. 需手动将 Jar 包复制到项目的  lib  目录,并手动配置构建路径。
3. 若 Jar 包存在版本冲突或依赖传递(如 A 依赖 B,B 依赖 C),需手动排查和下载所有关联 Jar 包,极易出错。

有 Maven
1. 只需在项目的  pom.xml  文件中,配置依赖的“坐标”(groupId、artifactId、version)。
2. Maven 会自动从中央仓库下载 Jar 包,并自动处理依赖传递(下载所有关联 Jar 包)。
3. 版本冲突可通过 Maven 自带的依赖调解机制解决,无需手动干预。

MyBatis:简化Jdbc

1. 自动管理数据库连接(Connection)
 
JDBC 痛点:需手动加载驱动、创建  Connection 、手动关闭连接(若忘记关闭会导致连接泄漏),代码冗余且易出错。

MyBatis 优化:通过  mybatis-config.xml  配置数据源(如数据库 URL、账号密码),MyBatis 自动完成驱动加载、 Connection  创建与关闭,还能集成连接池(如 Druid)优化连接复用,开发者无需关注连接细节。
 
2. 消除 SQL 执行的模板代码(PreparedStatement 相关)
 
- JDBC 痛点:执行 SQL 需手动创建  PreparedStatement 、手动设置参数( setInt / setString )、手动处理结果集( ResultSet  遍历封装),代码重复且与业务逻辑混杂。

- MyBatis 优化:

- 开发者只需在 Mapper 接口(或 XML)中定义方法与 SQL,MyBatis 自动创建  PreparedStatement 、自动匹配参数(按参数名/位置映射)。

- 自动将  ResultSet  结果映射为 Java 对象(如  User ),无需手动遍历封装。
 
3. SQL 与 Java 代码分离(解耦)
 
- JDBC 痛点:SQL 语句硬编码在 Java 代码中(如上述  String sql = "..." ),若需修改 SQL,必须修改 Java 代码并重新编译,维护成本高。

- MyBatis 优化:支持将 SQL 写在独立的 Mapper XML 文件中(如  UserMapper.xml ),Java 代码只负责调用接口方法,SQL 修改无需改动 Java 代码,实现“业务逻辑”与“数据操作语句”的解耦。

一、maven环境配置(已经导入了Maven包):

1.打开系统属性-->高级-->环境变量,在系统变量中点击新建填写变量名为“MAVEN_HOME”,变量值为maven路径(看到bin目录但不要点开)。点击确认。

2.找到系统变量中的“Path”变量点击编辑,新建一个“%MAVEN_HOME%\bin”点击确认。

3.打开cmd窗口,输入“mvn -version”,显示:

则说明创建成功。

二、配置Maven下载远程包的路径:

1.在maven主文件夹下(能看到bin目录的那个)创建名为“localbar”(名字和地址可以任取,只不过我用的是这个)文件夹。

2.打开config文件夹下的settings.xml配置文件(使用什么工具都可以,记事本也行)在大概46行左右写入说明后续文件导入路径:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><localRepository>D:\apache-maven-3.6.0\localbar</localRepository>

3.再在第162行左右输入:

 <mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>

配置一个阿里云镜象提高下载速度和可用性。

三、在IDEA中配置Maven和MyBatis:

1.打开我们的IDEA创建一个新项目,勾选左侧的Maven开头的Generator(生成器)创建一个Maven项目。在Archetype中选则一个后缀为quickstart的选项(全名:org.apache.maven.archetypes:maven-archetype-quickstart),再在GroupId中填写组名称:

第一次创建需要下载很多东西,花费时间比较多,要有耐心。

2.加载完毕后,在屏幕最右侧有一个大“M”图标,点击它。Maven页面加载出来后,在页面右上方有一个齿轮模样的按键,点击它,并点击Maven Settings:

3.点开后,找到Maven home path:点击右边的三个点,把路径改成我们导入我们导入的Maven路径。找到User setting file这一行,勾选Override重写选项,更改路径为maven-->conf-->setting.xml。此时下面的Local respository会自动更改为之前在xml文件中setting更改的路径(我的就是maven-->localbar)如果没有自动更改,可能是配置文件(xml文件)中写的路径有问题。

该项目下的目录:

由此,maven项目的基础配置就搞定了。


文章转载自:

http://CrJ109v0.LhxkL.cn
http://qOFbkZvW.LhxkL.cn
http://zzj9mYxe.LhxkL.cn
http://4u7VWcam.LhxkL.cn
http://ZPsHupUS.LhxkL.cn
http://KeoOuKjW.LhxkL.cn
http://UkdkoWAO.LhxkL.cn
http://QIBPimaP.LhxkL.cn
http://zYEDZ6Cx.LhxkL.cn
http://7Ajbke1r.LhxkL.cn
http://7F6P75nU.LhxkL.cn
http://nT1l5QOV.LhxkL.cn
http://w5HK1caC.LhxkL.cn
http://OBpVUB9q.LhxkL.cn
http://FdW1NzBK.LhxkL.cn
http://bD5AEx7v.LhxkL.cn
http://69PPXDmZ.LhxkL.cn
http://95J8hSRS.LhxkL.cn
http://yVs5mWaX.LhxkL.cn
http://oVQxqBWo.LhxkL.cn
http://EZsak0Vn.LhxkL.cn
http://mRILemWw.LhxkL.cn
http://nwg5shCy.LhxkL.cn
http://9nK1rrtb.LhxkL.cn
http://g5XeKCWE.LhxkL.cn
http://qLq9dX45.LhxkL.cn
http://nZYj7216.LhxkL.cn
http://nw0c8AYJ.LhxkL.cn
http://J0N5Ctqx.LhxkL.cn
http://9RJTorWn.LhxkL.cn
http://www.dtcms.com/a/381490.html

相关文章:

  • MLLM学习~M3-Agent如何处理视频:视频clip提取、音频提取、抽帧提取和人脸提取
  • video视频标签 响应式写法 pc 手机调用不同视频 亲测
  • CMD简单用法
  • 【iOS】AFNetworking
  • 【Qt】Window环境下搭建Qt6、MSVC2022开发环境(无需提前安装Visual Studio)
  • 惠普打印机驱动下载安装教程?【图文详解】惠普打印机驱动下载官网?电脑连接惠普打印机?
  • 【PHP7内核剖析】-1.1 PHP概述
  • ajax
  • STM32之RTOS移植和使用
  • [VL|RIS] RSRefSeg 2
  • Hadoop伪分布式环境配置
  • Python中的深拷贝与浅拷贝
  • 冒泡排序与选择排序以及单链表与双链表
  • 垂直大模型的“手术刀”时代:从蒙牛MENGNIU.GPT看AI落地的范式革命
  • 【高并发内存池】六、三种缓存的回收内存过程
  • 缓存常见问题与解决方案
  • 【pure-admin】登录页面代码详解
  • 初学鸿蒙笔记-真机调试
  • 反序列化漏洞详解
  • 使用 vue-virtual-scroller 实现高性能传输列表功能总结
  • python 实现 transformer 的 position embeding
  • 003 cargo使用
  • 制作一个简单的vscode插件
  • 【算法详解】:从 模拟 开始打开算法密匙
  • kubeadm搭建生产环境的单master多node的k8s集群
  • RocketMQ存储核心:MappedFile解析
  • 7.k8s四层代理service
  • Stable Virtual Camera:Stability AI等推出的AI模型 ,2D图像轻松转3D视频
  • Golang并发编程及其高级特性
  • 给AI配一台手机+电脑?智谱AutoGLM上线!