Java程序策——Java连接数据库保姆级教程(超详细步骤)

【Java程序策】——连接数据库

目录

​编辑

一:在数据库中建立一个表(student表)

1.1:进入mysql

1.2:建立一个“数据库成员”

1.3:建立一个表(student表)

1.4:给表中填写信息

​编辑1.5:查看建立的表

二:Java连接数据库具体操作

2.1:配置环境(导入jar包)

2.2:加载驱动

2.3:准备连接字段

2.4:获取连接的对象(mysql中建立的student表)

2.5:写 mysql 语句

2.6:获取处理对象(student表中的对象)

2.7:处理

2.8:关闭资源

三:代码具体实现


前言:

在Java和数据库连接之前,大家先提前将 Java 与 数据库 应用程序下载下来!!!

一:在数据库中建立一个表(student表)

1.1:进入mysql

第一步:先使用快捷键 win+R 打开此界面,输入 cmd

第二步:输入“账号”

在下载 数据库 的时候大家已经事先将密码设置好了。

输入:mysql -u root -p

password(密码):将你事先设置的密码输入进去。 

1.2:建立一个“数据库成员”

第三步:先查看数据库中的原本成员

第四步:创建一个 student 数据库成员。

1.3:建立一个表(student表)

第五步:use student;

找到 student 数据成员并“使用”,在成员中创建一个 student 表。在表中填写学生这个对象具体的类型(eg:学号[ id ]         名字[ name ])

1.4:给表中填写信息

第六步:插入信息

insert into student value();        插入数据的前提格式。

使用以下格式给表中插入数据。

insert into student value(1,'张三');
//                       学号  姓名

1.5:查看建立的表

第七步:检查是否插入成功

输入 select * from student;语句,检查是否插入成功。

第八步:显示数据库中成员是否含有 student 数据成员。

show databases 语句。

当大家显示的内容不报错,那么大家的 数据库 student 表就创建完毕了。 

二:Java连接数据库具体操作

2.1:配置环境(导入jar包)

安装包链接:https://pan.baidu.com/s/1g_C6BMOG4ImrC46gJL0LTA 
提取码:dfjo

第一:在Jdbc 项目右击

第二:建立一个 Source Folder

第三:命名 lib 

第四:显示此页面-->点击 ok 

 

 第五:找到 Add to Build Path

 

 第六:最终页面

 

此时 jar 包即就导入成功。 

2.2:加载驱动

Class.forName("com.mysql.jdbc.Driver");

2.3:准备连接字段

String url = "jdbc:mysql://localhost/数据库名(eg:student)";String user = "root";        ---> 用户名String pssword = ".....";   ---->密码
//             此处填写密码

2.4:获取连接的对象(mysql中建立的student表)

Connection con = DriverManager.getConnection(url,user,password);
//                                            用户名   密码

2.5:写 mysql 语句

PreparedStatement ps = con.prepareStatement("select * from student where id=?");// select * from + 表名 
// where id=?      表示:之后可通过学号找到相应的学生

2.6:获取处理对象(student表中的对象)

int id =22;        // 预查询学生的学号ps.setInt(1,id);    // id 写入数据库语句中的 select 中// 具体情况看下面总代码中应用

2.7:处理

ResultSet rs =ps.executeQuery();if(rs.next()) {stu= new Student();stu.setId(rs.getInt("id"));stu.setName(rs.getString("name"));
}

2.8:关闭资源

rs.close();
ps.close();
con.close();

三:代码具体实现

student类:

public class Student {private int id;private String name;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic String toString() {return "Student1 [id=" + id + ", name=" + name + "]";}}

data(具体实现)类:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;public class Data extends Student{public static void main(String[] args) {int id =22;            // 所要查询学生的学号Student1 stu = null;try {Class.forName("com.mysql.cj.jdbc.Driver");String url ="jdbc:mysql://localhost/student";Connection con = DriverManager.getConnection(url, "root","123456");
//                                                         此处直接将用户名和密码写入PreparedStatement ps = con.prepareStatement("select * from student where id=?");ps.setInt(1,id);        // 将 id 给 “where id=?” 这里ResultSet rs =ps.executeQuery();if(rs.next()) {stu= new Student();stu.setId(rs.getInt("id"));stu.setName(rs.getString("name"));}System.out.println(stu.getId());System.out.println(stu.getName());rs.close();ps.close();con.close();} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

OK,分享结束,回家干饭。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【代码随想录】【算法训练营】【第25天】 [216]组合总和III [17] 电话号码的字母组合

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 25,周六,坚持有点困难~ 题目详情 [216] 组合总和III 题目描述 216 组合总和III 解题思路 前提:组合子集问题 思路:回溯算法,剪枝…

【vscode篇】1-VScode设置语言为中文,2-解决中文注释乱码问题。

设置语言为中文 在前端开发中,Visual Studio Code(简称vscode)是一个非常好用的工具,但第一次打开vscode会发现界面为英文,这对很多开发者来说会很不友好(比如我),把界面设置成中文只需要安装一个插件即可&…

《QT从基础到进阶·四十二》QT运行后项目图标,exe图标问题,VS加载.pro文件问题

1、QT图标有时候不能正常显示,不管是加到qrc还是用绝对路径,都无法正常显示,之前是可以的,具体原因目前还不太清楚,我在VS项目——vcpkg——use vcpkg把否改为是就可以了 2、出现无法定位程序输入点的报错&#xff0c…

36. 【Java教程】输入输出流

本小节将会介绍基本输入输出的 Java 标准类,通过本小节的学习,你将了解到什么是输入和输入,什么是流;输入输出流的应用场景,File类的使用,什么是文件,Java 提供的输入输出流相关 API 等内容。 1…

AVL树的介绍与实现

前言 我们上一期介绍了二叉搜索树并做了实现,本期我们来继续学习另一个更优的树即AVL树! 本期内容介绍 什么是AVL树? AVL树的实现 AVL树的性能分析 在正式的介绍AVL树之前,我们先来回忆一下二叉搜索树的特点:左子树的…

OceanBase 4.3.0 列存引擎解读:OLAP场景的入门券

近期,OceanBase 发布了4.3.0版本,该版本成功实现了行存与列存存储的一体化,并同时推出了基于列存的全新向量化引擎和代价评估模型。通过强化这些能力,OceanBase V4.3.0 显著提高了处理宽表的效率,增强了在AP&#xff0…

PS插件一键轻松搞定电商产品摄影图!

在电商行业中,一张高质量的产品摄影图往往能够吸引更多潜在消费者的目光,从而增加产品的销量。然而,对于许多电商卖家和摄影师来说,后期处理产品图片却是一个既耗时又费力的工作。 最近我发现一款PS插件可以一键生成电商产品摄影…

Flutter基础 -- Dart 语言 -- 基础类型

目录 0. 配置 1. 变量 1.1 弱类型 var Object dynamic 1.2 强类型 1.3 使用场景 var 简化定义变量 查询参数定义 返回的实例对象 2. 常量 final 和 const 2.1 相同点 类型声明可以省略 初始后不能再赋值 不能和 var 同时使用 2.2 不同点 const 需要确定的值 …

【Python绘画】画笑脸简笔画

本文收录于 《一起学Python趣味编程》专栏,从零基础开始,分享一些Python编程知识,欢迎关注,谢谢! 文章目录 一、前言二、代码示例三、知识点梳理四、总结 一、前言 本文介绍如何使用Python的海龟画图工具turtle&#…

fastjson 泛型转换问题(详解)

系列文章目录 附属文章一:fastjson TypeReference 泛型类型(详解) 文章目录 系列文章目录前言一、代码演示1. 不存在泛型转换2. 存在泛型转换3. 存在泛型集合转换 二、原因分析三、解决方案1. 方案1:重新执行泛型的 json 转换2. …

23种模式之一— — — —适配器模式的详细介绍与讲解

适配器介绍与讲解 一、概念二、适配器模式结构适配器分类核心思想核心角色模式的UML类图应用场景模式优点模式缺点 实例演示图示代码演示运行结果 一、概念 适配器模式(别名:包装器) 是一种结构型设计模式 将一个类的接口转换成客户希望的另…

每日一练:利用多态思想和ArrayList集合,编写一个模拟KTV点歌系统的程序。【多态思想和ArrayList集合的综合应用】

目录 一、设计程序使用ArrayList集合,编写一个模拟KTV点歌系统的程序。参考代码歌曲类歌单类KTV类测试类运行效果 总结 最后 一、设计程序 使用ArrayList集合,编写一个模拟KTV点歌系统的程序。 要求: 输入0代表添加歌曲输入1代表将所选歌曲…

STM32高级控制定时器之输入捕获模式

目录 概述 1 输入捕获模式 1.1 原理介绍 1.2 实现步骤 1.3 发生输入捕获流程 2 使用STM32Cube配置工程 2.1 软件环境 2.2 配置参数 2.3 生成项目文件 3 功能实现 3.1 PWM调制占空比函数 3.2 应用函数库 4 测试 4.1 功能框图 4.2 运行结果 源代码下载地址&#xf…

MySQL 存储过程(一)

本篇主要介绍MySQL存储过程的相关内容 目录 一、什么是存储过程? 二、基本语法 创建存储过程 调用存储过程 查看存储过程 删除存储过程 三、变量 系统变量 用户自定义变量 局部变量 四、存储过程的参数 in out inout 一、什么是存储过程&#xff1f…

9 个步骤内快速完成 SEO 审核

SEO审计对于提高网站在搜索引擎结果中的性能和可见性至关重要。这种系统评估涉及仔细检查各种元素,从关键字和页面优化到网站结构和页面速度等技术方面。在本指南中,我们将概述执行全面 SEO 检查器的 12 个基本步骤,帮助您确定优势、劣势和改…

基于小波区间相关的信号降噪方法(MATLAB 2021B)

在我们处理信号过程中最重要的任务就是找到信号隐藏的规律和信号的特征。常用的傅里叶分析法只能用于在时间域或者频率域上分析信号,而通常的数据会在时间域和频率域均有特征。而小波分析是继傅里叶分析之后的一大突破性创新,也是近年来在学术界非常热门…

小熊家务帮day5-day7 客户管理模块1 (小程序认证,手机验证码认证,账号密码认证,修改密码,找回密码等)

客户管理模块 1.认证模块1.1 认证方式介绍1.1.1 小程序认证1.1.2 手机验证码登录1.1.3 账号密码认证 1.2 小程序认证1.2.1 小程序申请1.2.2 创建客户后端工程jzo2o-customer1.2.3 开发部署前端1.2.4 小程序认证流程1.2.4.1 customer小程序认证接口设计Controller层Service层调用…

使用import语句导入模块

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 创建模块后,就可以在其他程序中使用该模块了。要使用模块需要先以模块的形式加载模块中的代码,这可以使用import语句实现。im…

react、vue动态form表单

需求在日常开发中反复写form 是一种低效的开发效率,布局而且还不同这就需要我们对其封装 为了简单明了看懂代码,我这里没有组件,都放在一起,简单抽离相信作为大佬的你,可以自己完成, 一、首先我们做动态f…