Java怎么连接数据库 (使用技术及步骤原理,入门即会)

2023-10-30

   文章说明: 我们在这里讨论怎么去使用,了解它基本内容 ,认真看完 你就会了

   连接时需要在 eclipse(idea) 加入它所需要的 jar包 依赖(下面讲为什么)

   你可以从网盘下载 也可以去官网搜索  下载所需的版本

   链接:https://pan.baidu.com/s/10nKrIf-e1gX9w0wYBAkbPQ 
   提取码:wf55

    http://mysql-connector-java-5.1.23-bin.jar

一.连接时使用的技术

     1.JDBC  (java DataBase Connectivity)  java语言连接数据库

     2.JDBC的本质:

             JDBC是一套接口(面向接口写实现类,能够解耦合,提高代码的扩展力)

             因为每个数据库底层的实现原理是不同的,如果没有接口 访问不同数据库就要不同的代码

           jdbc驱动: 所有的数据库连接的驱动都以 jar包存在(里面是.class)  有很多的 .class文件

                             他们是对JDBC接口的实现类 由数据库厂商提供连接相应的数据库 官网下载   

 

 

二 .连接的准备

   1.首先在你的项目中建立  一个lib 文件夹(表示加入依赖)(资源在上面)

2.选择这个项目的Properties 在下面页面中添加Libraries进入这个项目  jar配置到项目)

 

 

 

三. 连接步骤

     接下来就是连接步骤 实现对数据库的增删改查 (重要实现步骤)

 JDBC编程的六步(一定要背会,这个技术后面将被Mybatis框架替代现在一定要会)

             1):注册驱动  (告诉Java要连接什么数据库)

             2): 获得连接  (表示JVM的进程与数据库之间的通道打开)

             3):  获得数据库操作对象  (它专门执行sql语句的对象)

             4): 执行sql 语句

             5): 处理查询结果集  (只有执行select 语句才有的步骤)

             6): 释放资源  (使用完后,一定要关闭)

       

2.详细讲解(下面有实现)    

   1):注册驱动 

你所下载的jar包解压后 ,在这个路径下 ,你将看到 JDBC 提供的驱动 ,在创建时使用

//第一步 注册驱动  (前面是jdk提供的类)

  DriverManager.registerDriver(new com.mysql.jdbc.Driver());

     

  2): 获得连接

        提供连接时的信息(  url  :连接对象)

            解释 url  jdbc:数据库软件:// 你的电脑ip : 软件的端口(mysql 3306)  /你的连接数据库名
            String url="jdbc:mysql://localhost:3306/bj";
            String user="数据库使用者";
            String password="数据库密码";
            Connection conn= DriverManager.getConnection(url, user, password);

 3):  获得数据库操作对象 

  Statement stmt =conn.createStatement();

四.展示实现

1.首先建立你的数据库,和所需要的表

2.更改我的代码中的配置为你的信息 建立连接

package connect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


//资源绑定获取 文件中的内容
public class connect1 {

	
	public static void main(String []arge) {
		//定义下面需要的对象
		Connection conn=null;
		Statement stmt=null;
		//因为下面要关闭 所以创建变量 不能再try中  
		try {
			
			//一定要把这个连接文件建立在这个项目下面
			
			//第一步 注册驱动
			DriverManager.registerDriver(new com.mysql.jdbc.Driver());
			
			//第二步 获取连接
			String url="jdbc:mysql://localhost:3306/bj";
			String user="root";   //这里的信息是需要更改的
			String password="wzf001115";
			 conn= DriverManager.getConnection(url, user, password);
			
			System.out.println("数据库连接对象"+conn);
			
			//第三步获取数据库操作对象
			 stmt =conn.createStatement();
			
			//第四步 执行sql语句

           //这里就是你要对数据库操作的语句 
			String sql="insert into dept(deptno,dname,loc) value (60,'人事部','北京') ";
		   //这里的返回值 是对数据库影响的条数
			int count =stmt.executeUpdate(sql);
			System.out.println(count==1?"执行成功":"执行失败");
			
			//第五步 处理查询结果(对待有select的语句其他的没有)
			
			//第六步 关闭资源  在finally中
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally {
	    	if(stmt!=null)
				try {
					stmt.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
	    		if(conn!=null)
					try {
						conn.close();
					} catch (SQLException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}
	}}
}

 执行sql添加操作,结果为

执行的查询语句

 好了,现在你就可以使用你的信息 做数据库的操作了

加油, 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java怎么连接数据库 (使用技术及步骤原理,入门即会) 的相关文章

  • 为什么我们要关闭 Mysqli 中的结果

    为什么我们要关闭 result mysqli new mysqli localhost root root test if mysqli gt connect errno echo Failed to connect to MySQL my
  • Hibernate、MySQL 视图和 hibernate.hbm2ddl.auto = 验证

    我可以在 Hibernate 中使用 MySQL 视图 将它们视为表 即 该实体与为表创建的实体没有什么不同 但是 当 Hibernate 设置为验证模型时 我的应用程序将不会部署 因为它找不到视图 因为它假设它是一个表 是否可以在启用部署
  • 如何解决 MySQL Workbench 上的这些行错误?

    正如您所看到的 我的代码中没有语法错误或类似的错误 你们能帮我吗 我想这只是错误标记机制中的一个小错误 尝试编辑代码或关闭此编辑器并打开一个新编辑器 如果您有重现此问题的步骤列表 您甚至可以创建一个错误报告 http bugs mysql
  • 在数据库中存储差异的最紧凑方式是什么?

    我想实现类似于维基媒体的修订历史的东西 最好使用的 PHP 函数 库 扩展 算法是什么 我希望差异尽可能紧凑 但我很高兴只能显示每个修订版与其同级修订版之间的差异 并且一次只能回滚一个修订版 在某些情况下 只有几个字符可能会发生变化 而在其
  • 如何在 sqlSave() 命令中跳过主键?

    我正在尝试使用 RODBC 在 MySQL 数据库中插入 data frame 我正在使用的命令如下 sqlSave channel dbData tablename table name append TRUE safer TRUE fa
  • mysql - 有什么方法可以帮助使用另一个索引进行全文搜索?

    假设我有一个 文章 表 其中包含以下列 article text fulltext indexed author id indexed 现在我想搜索特定作者撰写的文章中出现的术语 所以像这样 select from articles whe
  • MySQL 性能 DELETE 或 UPDATE?

    我有一个超过 10 7 行的 MyISAM 表 向其中添加数据时 我必须在最后更新 10 行 删除它们然后插入新行更快 还是更新这些行更快 应更新的数据不是索引的一部分 索引 数据碎片怎么样 UPDATE到目前为止要快得多 当你UPDATE
  • mysql查询先慢后快

    我有 2 个 myISAM 表 分别称为 tests 和 completed tests 一个有 170 个条目 另一个有 118k 条目 当我运行此查询时 SELECT ct archive ct status ct score ct u
  • 如何在SQL中查找单元格中的重复单词

    我有一个名为 situation 和 entityid 的列 Entityid Situation 1234 In the the world of of 3456 Total universe is is a 任何人都可以给我查询以找到这
  • 脚本超时已过,如果要完成导入,请重新提交相同的文件,导入将恢复

    我有一个数据库 拉开拉链后的尺寸50mb拉链尺寸7mb所以当我尝试导入数据库时zipped 7mb 几分钟后 它抛出此错误 脚本超时已过 如果您想完成导入 请resubmit相同的文件和导入将恢复 我已经重新提交了 但仍然没有导入全部数据
  • 是否有工具可以将 Neo4j 图转储为 Cypher 并从 Cypher 重新加载它?

    每个熟悉 MySQL 的人都可能使用过 mysqldump 命令 它可以生成代表 MySQL 数据库中的架构和数据的 SQL 语句文件 这些 SQL 文本文件通常用于多种用途 备份 播种副本 在安装之间复制数据库 将产品数据库复制到临时环境
  • 防止重复数据输入mysql数据库

    我试图让我的电子邮件订阅服务拒绝数据库中已存在的电子邮件 这样用户就不会订阅同一封电子邮件两次 这就是我所拥有的 但它不起作用 有什么想法吗
  • mysql 使用什么样的哈希?

    我正在编写类似于 phpMyAdmin 的自己的代码 但我需要用户能够使用 mysql 数据库中的用户名和密码登录 我需要知道mysql数据库使用什么样的哈希来存储每个用户的密码 我检查了 dev mysql com 寻找答案 但除了以 开
  • MySQL LAST_INSERT_ID() 和 FOUND_ROWS()

    当 PHP 脚本每秒有数百个查询时会发生什么 它会影响这些函数吗 是否保证它们会返回当前脚本中最后一个插入语句中最后插入的 id 它会返回当前脚本中最后一次选择的行数吗 如果同时从另一个脚本进行新的插入或选择 在 FOUND ROWS 的情
  • pyodbc 无法正确处理 unicode 数据

    我确实使用 pyodbc 成功连接了 MySQL 数据库 并且它可以很好地处理 ascii 编码的数据 但是当我打印使用 unicode utf8 编码的数据时 它引发了错误 UnicodeEncodeError ascii codec c
  • 日常 MySQL(部分和过滤)复制的最佳实践?

    我有一个相当大的数据库 有超过 40 个表 我只需要复制几个表 5 并且每个表也被过滤 我正在寻找一些复制这些数据的最佳实践 每天就足够了 我可以只选择几个表并为每个表包含一些 WHERE 子句 我正在考虑为每个表启动 mysqldump
  • 通过字符串操作预防 PHP SQL 注入[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 中防止 SQL 注入的最佳方法 https stackoverflow com questions 60174 best way to prevent sql injection in php
  • MySQL 将表的校验和存储在另一个表中

    语境 我们有包含大量表的大型数据库 他们中的大多数 99 都使用innodb 我们希望有一个日常流程来监视哪个表已被修改 当他们使用 innodb 的值时Update time from SHOW table STATUS from inf
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • Unicode(希腊语)字符存储在数据库中,例如“??????”

    数据库中的希腊字符就像问号 我找不到解决办法 我使用 Java Swing 开发了一个应用程序 但是当我在 MySQL 中插入希腊字母时 就像问号一样 我将数据库排序规则更改为 utf8 并将列也更改为 utf8 我的项目编码设置为UTF

随机推荐

  • 【Kubernetes资源篇】ConfigMap配置管理中心详解

    文章目录 一 ConfigMap配置中心理论知识 1 ConfigMap配置中心简介 2 ConfigMap局限性 二 创建ConfigMap的四种方式 1 第一种 通过命令行创建ConfigMap 2 第二种 通过指定文件创建Config
  • 蓝桥杯题库 算法提高非vip部分(C++、Java)代码实现(281-300)

    ADV 282 Island Hopping cpp include
  • 2021最新 Minecraft我的世界云服务器搭建教程

    一 购买服务器 熟练的朋友萌请跳过这里 首先我们先去al云或者tx云买个服务器 有学生优惠的话一年才120 当然最低配的单核2G 实测纯净服同时在线10个人无压力 这里以al云为例演示 首先 在搜索栏搜索学生优惠 点进去会是这样 然后我买的
  • 词的分布表示

    词的表示 One hot Representation 独热表示 苹果 表示为 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 优点 简介 缺点 词之间是孤立的 维数灾难 Distributed Representation
  • Writing a Scientific Research Report (IMRaD)学习笔记

    参考资料 Writing a Scientific Research Report IMRaD IMRAD Introduction Methods Results and Discussion How to Organize a Pape
  • pytorch从python转 c++涉及到的数据保存加载问题;libtorch

    pytorch 从python 转 c 涉及到的数据保存加载问题 1 torch nn Module 保存 state dict 无法被 c 访问 只能转化为 python字典 python代码 model ThreeLayer FCNN
  • MongoDB基础篇-08-spring-boot-starter-data-mongodb玩法

    文章目录 0 简述 1 依赖 2 yaml 3 MongoTemplate的使用 3 1 添加文档 3 2 修改文档 3 2 1 使用save修改 3 2 2 使用特定运算符进行更新 3 3 删除文档 3 3 1 根据主键删除 3 3 2
  • 性能测试包含哪些内容?

    性能测试是对软件产品在特定条件下的性能进行测试和评估的过程 性能测试的内容可以包括以下几个方面 1 负载测试 负载测试是指在特定条件下 对软件产品的性能进行测试和评估 测试人员可以通过模拟不同的用户数量 并发请求 访问频率等条件 来评估软件
  • 竞赛 基于机器视觉的停车位识别检测

    简介 你是不是经常在停车场周围转来转去寻找停车位 如果你的车辆能准确地告诉你最近的停车位在哪里 那是不是很爽 事实证明 基于深度学习和OpenCV解决这个问题相对容易 只需获取停车场的实时视频即可 该项目较为新颖 适合作为竞赛课题方向 学长
  • 中国互联网上市科技公司市值蒸发了多少亿?

    科技公司的市值断崖路与程序员的应对救生服 跌 跌 跌 2018 抱团取暖的科技公司 2018 年 对于中国互联网上市科技公司来说 是跌宕起伏的一年 这一年的前半段 以腾讯 阿里为首的头部公司 风光无两 市值屡创新高 腾讯最高市值突破 500
  • JDK8主要新特性介绍(二)

    1 6 类库新特性 java util stream 类库包新特性 java util Optional 类新特性 java util Base64 类新特性 Java time 类新特性 其它常用类新增特性 HashMap类性能提升 1
  • 详解C++类&对象(上篇),带你走进C++

    目录 一 面向对象 面向过程的认识 简单了解即可 逐步认识 二 类 2 1 类的引入 2 2 类的定义 1 struct 2 class 类的两种定义方式 2 3 封装 类的访问限定符 1 封装概念 2 类的访问限定符 2 4 类的作用域
  • 三体攻击问题(三维数组的前缀和 与 差分)(上篇)

    三体攻击问题 文章目录 三体攻击问题 题目详情 前言 预备知识 二维差分与前缀和 三维前缀和 定义 官方解释 自定义 三维数组求前缀和 三维差分 官方解释 自定义 跟二维差分类比 三维查分的求解 总结 题目详情 三体人将对地球发起攻击 为了
  • MES系统总体介绍

    MES系统总体 系统目标 MES系统通过控制包括物料 设备 人员 流程指令和设施在内的所有工厂资源 优化从定单到产品完成的整个生产活动 以最少的投入生产出最优的产品 实现连续均衡生产 MES系统通过与ERP DCS系统的全面集成 为企业搭建
  • protobuf 使用

    protobuf 生成类 生成的类中包含各个字段的get和set接口 使用SerializeToString可将class实例转换为protobuf二进制数据 ParseFromArray函数可将protobuf二进制反序列化到类的实例中
  • 为之前的commit添加签名signoff

    Centos yum install gnupg Ubuntu apt install gpg windows 听我一句劝 乖乖去用wsl 生成gpg gpg gen key gpg K 列出私钥 gpg k 列出公钥 导出公钥 gpg a
  • 计算机毕设Python+Vue在线答题系统(程序+LW+部署)

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • Java第一次做项目学到技巧和知识

    第一个 定义项目return 在定义项目返回值的时候 可以利用泛型 Data public class R
  • python 猜数字游戏

    随机生成1 100的一个数 给7次猜的机会 猜对了或者7次都猜错了游戏结束 并弹出是否再来一次 每猜一次 给出提示High或者Low 并给出下次再猜的数字范围 guess number game import random def gues
  • Java怎么连接数据库 (使用技术及步骤原理,入门即会)

    文章说明 我们在这里讨论怎么去使用 了解它基本内容 认真看完 你就会了 连接时需要在 eclipse idea 加入它所需要的 jar包 依赖 下面讲为什么 你可以从网盘下载 也可以去官网搜索 下载所需的版本 链接 https pan ba