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;
	}
	
	@Override
	public 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 block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Springboot+vue二手房交易管理系统

Springbootvue二手房交易管理系统,项目用mybatis与数据库,数据库为mysql,16个表结构。有问题直接加我询问,我会一直在线哒。 功能如下: 房东管理 用户管理 房源信息管理(可预约和查看评论) 看房…

C语言 指针——函数指针的典型应用:通用排序

目录 编程实现升序和降序排序 如果不使用函数指针编程… 使用函数指针编写一个通用的排序函数 小结 编程实现升序和降序排序 如果不使用函数指针编程… 使用函数指针编写一个通用的排序函数 小结 正确理解指针的概念  指针是一种特殊的数据类型  指针类型的变量&am…

【动态规划】状态压缩dp

发现dp调试打最后二维dp表非常有用 1.吃奶酪类 先出状态&#xff0c;再走到哪 dp[1][0]0;for(int i3;i<maxn;i){//状态 for(int j1;j<n;j){//走过j if(i&(1<<j)){ for(int k0;k<n;k){//刚才在k dp[i][j]; } } } } P1433 吃奶酪 - 洛谷 | 计算机科学教育新生…

ARP欺骗的原理与详细步骤

ARP是什么&#xff1a; 我还记得在计算机网络课程当中&#xff0c;学过ARP协议&#xff0c;ARP是地址转换协议&#xff0c;是链路层的协议&#xff0c;是硬件与上层之间的接口&#xff0c;同时对上层提供服务。在局域网中主机与主机之间不能直接通过IP地址进行通信&#xff0c…

做ozon开单前需要多少钱,做ozon开单前需要多少钱

在电子商务的浪潮中&#xff0c;OZON平台以其独特的商业模式和市场定位&#xff0c;吸引了众多创业者和商家的目光。然而&#xff0c;在决定投身OZON平台之前&#xff0c;对开店成本的全面了解至关重要。本文将详细解析OZON开店前的各项费用&#xff0c;并提供一些高效投入的策…

go的反射和断言

在go中对于一个变量&#xff0c;主要包含两个信息变量类型&#xff08;type&#xff09;和变量值&#xff08;value&#xff09; 可以通过reflect包在运行的时候动态获取变量信息&#xff0c;并能够进行操作 对于Type可以通过reflect.TypeOf()获取到变量的类型信息 reflect.Ty…

网络服务DHCP的安装

DHCP的安装 检查并且安装dhcp有关软件包 rpm -qc dhcp #检查是否存在dhcp yum install -y dhcp #进行yum安装查看系统的配置文件 切换到对应目录查看相关文件配置&#xff0c;发现是空目录。 将官方提供的example复制到原配置文件中 cp /usr/share/doc/dhcp-4.2.5/dhcpd.…

This Python interpreter is in a conda environment

今天在查看python版本的时候出现警告 Warning: This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activation 这个警告意味着你…

Windows家庭版 WSL2非C盘详细安装配置与WSL代理设置+WSL基础环境CUDA安装

1 WSL2 配置 1.1 WSL 开启 注意&#xff1a;需要在windows功能中开启“Hyper-V”和“适用于Linux的Windows子系统”功能 但是&#xff01;windows家庭版&#xff08;windows home&#xff09;是默认没有Hyper-V功能的&#xff0c;自己手动安装&#xff1a; 创建一个记事本&a…

DeepDriving | 基于YOLOv8分割模型实现垃圾识别

本文来源公众号“DeepDriving”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;基于YOLOv8分割模型实现垃圾识别 0. 引言 YOLOv8是Ultralytics开源的一个非常火的AI算法&#xff0c;目前支持目标检测、实例分割、姿态估计等任务。…

Java List数据结构与常用方法

1.1 数据结构概述 Java的集合框架其实就是对数据结构的封装&#xff0c;在学习集合框架之前&#xff0c;有必要先了解下数据结构。 1.1.1 什么是数据结构 所谓数据结构&#xff0c;其实就是计算机存储、组织数据的方式。 数据结构是用来分析研究数据存储操作的&#xff0c;其实…

【Mac】Keyboard Maestro for Mac(键盘大师)软件介绍及安装教程

软件介绍 Keyboard Maestro for mac&#xff08;键盘大师&#xff09;是目前Mac OS平台上功能最为齐全的Mac键盘增强工具&#xff0c;它能将你的Keyboard作用发挥到极致&#xff0c;可以根据命令或计划自动执行简单或复杂的应用程序或网站&#xff0c;文本或图像。使用Keyboar…

力扣234. 回文链表

给你一个单链表的头节点 head &#xff0c;请你判断该链表是否为回文链表。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;head [1,2,2,1] 输出&#xff1a;true # Definition for singly-linked list. # c…

Facebook开户 | Facebook海外三不限的价值

在当今数字化时代&#xff0c;海外数字营销已经成为企业推广和品牌建设的重要手段。在这个过程中&#xff0c;社交媒体平台扮演着至关重要的角色&#xff0c;而Facebook作为全球最大的社交媒体平台之一&#xff0c;其海外三不限账户近年来引起了越来越多数字营销从业者的关注。…

【数据结构与算法 | 二叉树篇】力扣101, 104, 111

1. 力扣101 : 对称二叉树 (1). 题 给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 示例 1&#xff1a; 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true示例 2&#xff1a; 输入&#xff1a;root [1,2,2,null,3,null,3] 输出&#xff1a;false…

【Redis数据库】数据类型(2.3w字超详细)

文章目录 一、字符串类型概述1.1、数据类型1.2、字符串简介1.3、字符串应用场景 二、字符串命令三、哈希类型概述3.1、哈希介绍3.2、哈希类型应用场景3.3、哈希命令 四、列表类型概述4.1、列表简介4.2、使用场景4.3、列表命令 五、集合概述5.1、集合简介5.2、使用场景5.3、集合…

Vue.js 动画与过渡效果实战

title: Vue.js 动画与过渡效果实战 date: 2024/6/4 updated: 2024/6/4 description: 这篇文章介绍了如何在网页设计中使用过渡动画和组件效果&#xff0c;以及如何利用模式和列表展示信息。还提到了使用钩子实现组件间通信的方法。 categories: 前端开发 tags: 过渡动画组件…

VS 2022调试技巧:远程调试、线程检查、性能检查

&#x1f3c6;作者&#xff1a;科技、互联网行业优质创作者 &#x1f3c6;专注领域&#xff1a;.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 &#x1f3c6;欢迎关注我&#xff08;Net数字智慧化基地&#xff09;&#xff0c;里面…

总交易量突破 3000 亿美元,APX Finance 成本轮牛市最大的黑马?

“APX Finance 总交易量现已突破 3000 亿美元&#xff0c;已然成为链上衍生品赛道的主力军” 自 2021 年链上衍生品市场进入萌芽期以来&#xff0c;该板块始终保持着较高的市场增速&#xff0c;即便如此该领域仍旧存在极大的发展空间。一方面&#xff0c;衍生品板块交易量目前占…

微信小程序发布遇到的一些问题记录

1.报错组件没有按需导入 在该路径配置微信小程序添加"lazyCodeLoading" : "requiredComponents" "mp-weixin" : { "appid" : "你的appid", "setting" : { "urlCheck" : f…