Java 快速入门学习 -- Day 2

Java 快速入门 Ⅱ

    • 学习视频
    • maven(图书管理员)
    • IDEA使用 maven
    • 框架
    • MyBatis
      • ① MyBatis 是持久层框架
      • ② MyBatis 是 ORM 框架
      • ③ 搭建第一个 MyBatis 框架
        • 1、创建数据库表(wy数据库 t_book 表)
        • 2、创建maven 项目
        • 3、添加依赖
        • 4、创建 MyBatis 全局配置文件
        • 5、创建实体类(pojo)
        • 6、构建映射文件(mapper)
        • 7、编写测试类,启动项目
      • mybatis 增删改查
        • 1、 Dao
        • 2、mapper.xml
        • 3、启动类test

)

学习视频

【3天搞定JavaSE到SpringBoot框架】

maven(图书管理员)

image-20240711092336427

maven 仓库,图书馆。要看书的化先从家里找(本地仓库),本地找不到就去中央仓库或者镜像仓库找,并把找到的书放入本地仓库

image-20240711092412634

为了分别资源的查找,得指定资源的坐标,有以下三个方面

image-20240711092614232

案例

image-20240711092731948

当按教程配置环境后,任未安装成功,可能是最近在 用户变量 里也定义了相同的环境变量,且路径不同

如先在用户变量里定义了 JAVA_HOEM 路径为 A,然后安装 JDK时由于配置 JAVA_HOME,路径选择了B,所以在安装maven 时报错:

The JAVA_HOME environment variable is not defined correctly This environment variable is needed

这是因为安装 maven 时去找了JAVA_HOME 时找了A地址,而那里没有。应去找B地址

解决方法:删除 用户变量里的 JAVA_HOME

注意:用户变量里的变量不应和系统变量里的变量重名

image-20240711110652472

maven 和 jdk版本太高,可能不兼容,会报错‘

IDEA使用 maven

① 官网查找想要导入的 jar 包 (以前是自己下载,然后复制到 lib 里)

image-20240711195316031

② 复制上述 jar 包中的 maven 地址到 pom.xml 中的 中

image-20240711195537796

③ 更新maven,发现自动带入相应 jar 包

image-20240711195626529

④ 测试 JDBC ,发现链接成功

image-20240711201157254

框架

以给整个社区建多个房子为例:

① 之前建房子,要自己买钢筋水泥什么的(如DJDBC,每次增删改查前都要插入驱动,连接什么的

② 有了框架,相当于直接买毛坯房,不用重复做最初始的事情

image-20240715095449287

MyBatis

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

MyBatis中文网

① MyBatis 是持久层框架

image-20240717163847885

image-20240717163822757

② MyBatis 是 ORM 框架

JDBC 查询数据库:需手动的将数据封装为一个对象,然后才能获取对象的信息,这样才能实现查询。每查询一个数据都有先封装为对象再使用,要查多个对象的话就很麻烦。

MyBatis 查询数据库:不需要手动封装,它会将数据库的每一个列 和 程序里的具体的某一个对象的属性 一一对应。然后orm 会帮我们把查询到的数据封装成一个对象。增删改查就很方便。

image-20240717164827629

③ 搭建第一个 MyBatis 框架

image-20240717164927682

1、创建数据库表(wy数据库 t_book 表)

image-20240717165629090

2、创建maven 项目

image-20240717170637003

3、添加依赖

image-20240717170901529

4、创建 MyBatis 全局配置文件

链接数据库

image-20240717184520807

参数详情请看官方文档:配置_MyBatis中文网

image-20240717183405482

image-20240717183447905

5、创建实体类(pojo)

MyBatis 是 ORM 框架,查询数据库会封装成对象。所以要有实体类

image-20240717185757618

6、构建映射文件(mapper)

在构建映射文件之前,需要定义Dao 接口。Dao 接口里写自己需要什么操作,要执行什么方法,写名字就行。具体的实现到映射文件 mapper 里去写。Dao 接口的绑定 是通过映射文件的 namespace 实现的,注意要一一对应。

image-20240717193418972

映射文件中写对数据库操作的 sql 的信息

image-20240717191903551

image-20240717214733898

注意,此xml文件默认是不会扫描到的,要在mybatis.xml 的核心配置文件里声明

① 若BookMapper.xml 文件在 com.wy 里,则想要让系统找到这个文件有两步

  • ​ 在mybatis.xml 核心配置文件里声明它(默认是会编译核心配置文件的,而不会访问自定义的其他xml

image-20240717213340859

  • 此时,系统还是找不到BooMapper.xml 在哪(无根路径)。所以需在系统的 pom.xml 配置文件中声明根路径

image-20240717213622134

② 若 BookMapper 写在 resources 目录下。则简单很多。只需在mybatis.xml 声明一下就行

image-20240717214158767

7、编写测试类,启动项目

image-20240717214925513

mybatis 增删改查

1、 Dao

image-20240718091953788

2、mapper.xml

image-20240718092027920

3、启动类test

image-20240718092159261

注意:因为 mybatis 默认不是自动提交事务的, 所以其实没有修改数据库,
刚刚新增完后立即返回的结果,是从mybatis为了提高性能设置的缓存里读取的,不是从数据库读取的
解决的办法有如下两种:

1.在openSession() 的括号里写true, 设定自动提交事务,

2.在代码中加入sqlSession.commit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3250313.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

万界星空科技MES系统生产计划管理的功能

MES系统(Manufacturing Execution System,制造执行系统)的生产计划管理功能是其核心功能之一,旨在将企业的生产计划转化为实际的生产操作,并通过实时监控和调整来确保生产活动的顺利进行。以下是MES系统生产计划管理功…

关于 Qt输入法在arm特定的某些weston下出现调用崩溃 的解决方法

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/140423667 长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV…

算法篇 滑动窗口 leetCode 水果成篮

水果成蓝 1.题目描述2.图形分析2.1原理解释2.2 怎么想出使用滑动窗口2.3 图形分析 3.代码演示 1.题目描述 2.图形分析 2.1原理解释 2.2 怎么想出使用滑动窗口 2.3 图形分析 3.代码演示

C语言数组进阶探索

1、数组名含义 在C语言程序中,数组的出现有两种可能的含义: (1)代表整个数组 (2)代表其首元素的地址 当出现以下情形时,数组代表的是整个数组: (1)在数组定义…

Zabbix × openGauss完成兼容 | 信创路上,得其法则事半功倍

在当今快速发展的信息技术领域,数据库作为核心组件之一,其性能、可靠性和兼容性一直是企业和开发者关注的焦点。 近期,Zabbix与openGauss完成了兼容性认证,经过严格联合测试,双方产品实现完全兼容,整体运行…

搭建个人智能家居 7 - 空气颗粒物检测

搭建个人智能家居 7 - 空气颗粒物检测 前言说明PMS5003ESPHomeHomeAssistant结束 前言 到目前为止,我们这个智能家居系统添加了4个外设,分别是:LED灯、RGB灯、DHT11温度传感器和SGP30。今天继续添加环境测量类传感器“PMS5003空气颗粒物检测…

前端JS特效第45集:js实现图片放大和拖拽特效

js实现图片放大和拖拽特效&#xff0c;先来看看效果&#xff1a; 部分核心的代码如下(全部代码在文章末尾)&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title>js实现图片放大和拖拽特效</title><meta…

开放式耳机哪个品牌最好?2024年度首发推荐榜单来了!

在很多专业运动人士中&#xff0c;开放式耳机正变得越来越受欢迎。无论是享受纯净的音质、沉浸式的听觉体验&#xff0c;还是舒适度和通透感方面的追求&#xff0c;开放式耳机都展现出了独特的魅力。本文将带您深入探索开放式耳机的世界&#xff0c;揭示其不可忽视的优点和无限…

拒绝废话:computed、watch和methods的区分和使用场景

computed、watch和methods是用于处理数据和响应数据变化的不同方式&#xff0c;三者之间有什么不同呢&#xff0c;贝格前端工场作为10年前端老司机&#xff0c;用浅显的语言给大家分享一下。 computed&#xff1a; computed属性是用来定义一个基于依赖的响应式属性。它会根据…

CVPR2024论文解读|对齐人类审美!MPS让图像生成评估更“懂你”

导读 当人类从不同角度评估不同类型的图像时&#xff0c;偏好结果会有所不同。因此&#xff0c;为了学习多维的人类偏好&#xff0c;我们提出人类多元偏好模型&#xff08;MPS&#xff09;&#xff0c;这是第一个评估文本生成图像的多维评分模型。MPS在3个公开数据集上表现出色…

医疗设备安全、可靠,国产大功率医疗电源功不可没,旭之源医疗电源拥有高可靠性、优异EMC性能、满足医疗认证等优势!

我国作为人口大国&#xff0c;人均医疗资源相较于发达国家仍有不足&#xff0c;医疗健康产业还有很大提升空间。卡脖子的现象在医疗器械中十分明显&#xff0c;这也是医疗产业重点需要解决的。“国产化”便是有效的解决方案。 受益于医疗行业对产品自主可控意识的提升&#xff…

MySQL----初始数据类型

前言 一、tinyint 范围&#xff1a;-128-----127 在MySQL中&#xff0c;整型可以指定是有符号的和无符号的&#xff0c;默认是有符号的。可以通过UNSIGNED来说明某个字段是无符号的。如果我们向mysqlt特定的类型中插入不合法的数据&#xff0c;Mysq一般会直接拦截&#xff0c…

【python】Python高阶函数--map函数的详细语法分析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

哪个无线麦克风音质最好,无线领夹麦克风哪个牌子好,麦克风推荐

​如今&#xff0c;网络世界丰富多彩&#xff0c;每个人都有机会成为焦点。从旅行博主的精彩游记&#xff0c;到健身达人的锻炼分享&#xff0c;再到音乐爱好者的才艺展示&#xff0c;优质的内容层出不穷。如果你也渴望在这个舞台上大放异彩&#xff0c;一款出色的无线麦克风将…

vue3前端开发-小兔鲜项目-人气推荐栏目的前端渲染

vue3前端开发-小兔鲜项目-人气推荐栏目的前端渲染&#xff01;今天和大家分享一下&#xff0c;人气推荐栏目的前端页面如何渲染内容。 经历过上一次的&#xff0c;新鲜好物的栏目渲染之后&#xff0c;我们已经熟练了&#xff0c;vue3的接口调用&#xff0c;数据渲染到页面中的整…

2024年7月17日(nodejs,npm设置国内镜像,vue脚手架,远程管理ssh,踢出用户,scp命令,ssh免密登录)

1、安装nodejs服务 nodejs是一个运行1环境&#xff0c;和javajdk运行环境格式一样 [roota ~]# yum -y install nodejs.x86_64 安装完成之后&#xff0c;使用node -v 查看版本 [roota ~]# node -v v16.20.2 2、简易服务器的环境安装npm 安装包管理器 npm node packae manger [ro…

【计算机毕设论文】基于SpringBoot学生作业管理系统

&#x1f497;博主介绍&#xff1a;✌全平台粉丝5W,高级大厂开发程序员&#x1f603;&#xff0c;博客之星、掘金/知乎/华为云/阿里云等平台优质作者。 【源码获取】关注并且私信我 感兴趣的可以先收藏起来&#xff0c;同学门有不懂的毕设选题&#xff0c;项目以及论文编写等相…

【MySQL-17】存储过程-[变量篇]详解-(系统变量&用户定义变量&局部变量)

前言 大家好吖&#xff0c;欢迎来到 YY 滴MySQL系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; YY的《C》专栏YY的《C11》专栏YY的《Lin…

修改单链表时传入二级指针详解

修改单链表时传入二级指针详解 我们先来看一个例子&#xff1a; 1.int *p &a; notice: p的值&#xff0c;*p&#xff0c;&p注意区分 p的值&#xff1a;就是变量a的地址&#xff1a;0x11 *p: 就是变量a的值&#xff1a;1 &p:就是p的地址&#xff1a;ox22 p代表的…

气膜篮球馆:理想的运动空间选择—轻空间

快速建造 气膜篮球馆的建造速度快&#xff0c;通常只需几周即可完成。这与传统建筑需要数月甚至数年的时间相比&#xff0c;显著缩短了工期。快速建造不仅能迅速投入使用&#xff0c;还减少了因工期延长而产生的额外费用。 成本效益 气膜结构相比传统建筑成本更低&#xff0c;特…