简单了解java连接数据库的操作步骤
一、JDBC规范调用流程
1、将 MySql 服务器厂商提供 Driver 接口实现类注册到 JVM
2、通过 JDBC 规范中 DriverManager 在 Java 工程与 MySql 服务器之间建立一个【连接通道】
3、通过 MySql 服务器厂商提供 Connection 接口实现类建立一个交通工具【Preparedstatement】
4、通过交通工具【Preparedstatement】将 SQL 命令从 Java 工程推送到 MySql 服务器上执行并带回执行结果
5、销毁本次交易过程涉及所有资源对象
二、JDBC规范下接口介绍
1、位置:JDBC规范下接口存在于JDK_ 1.8.jar 下 java. sql 包
2、分类
(1)java.sql.DriverManager 类:这个类存在于JDK_ 1.8下。负责将数据库厂商提供 Driver 接口实现进行注册。负责在 Java 工程与 Mysql 服务器之间建立一个【连接通道】
(2)java.sql.Connection 接口:负责管理 Java 工程与数据库服务器之间【连接通道】
(3)java.sql.Preparedstatement 接口:负责管理在【连接通道】上进行往返交通的【交通工具】
PreparedStatement接口继承了java.sql.Statement
PreparedStatement是属于预编译的数据库操作对象
PreparedStatement原理是:预先对SQL语句的框架进行编译,然后再给SQL语句传“值”。
(4)java.sql.Resuiltset 接口:负责管理数据库服务器返回【临时表】
三、ps.executeUpdate 与 ps.executeQuery 区别
1、ps.executeUpdate:
(1)负责推送插入命令【insert】,更新命令【update】,删除命令【delete】
(2)返回结果对表文件进行操作时,收到影响行数,比如插入了多少行,更新了多少行,删除了多少行
2、ps.executeQuery:
(1)负责推送查询命令【select * from 表名】,返回结果是查询命令得到【临时表】,在 JDBC 规范中【临时表】交给 Resultset 接口实现类管理。实际上返回 Resultset 实例对象
四、连接数据库
1、导入JDBC(Java DateBase Connectivity) jar包在你所创建的project项目中
不会导包的可以看看我的另一篇博文IDEA的JDBC代码配置驱动
2、建表,表名为“ 管理员信息表 ”:
管理员编号 | 管理员姓名 | 管理员密码 |
---|---|---|
1 | 王五 | 123456 |
2333 | hetui | 666 |
3、编写代码
在java连接数据库中,有着6步操作:
- 注册驱动
- 获取数据库连接
- 获取数据库操作对象
- 执行sql
- 查询处理结果集(这一步只适用于select语句,其它语句可省略这一步)
- 释放资源
import java.sql.*;public class Test03{public static void main(String[] args){Connection conn = null; //与指定的数据库进行连接PreparedStatement pstmt = null; //用于执行静态SQL语句并返回其生成的结果的对象ResultSet rs = null; //表示数据库结果集的数据表,通常只在select语句应用try{//1.注册驱动//这里用的是反射机制原理Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//2.获取数据库连接String url = "jdbc:sqlserver://本机IP地址:数据库端口;DateBaseName=xx";String usename = "sa"; //数据库用户名String password = "123"; //数据库密码//DriverManager:管理一组JDBC驱动程序的基本服务//getConnection:尝试建立与给定数据库URL的连接conn = DriverManager.getConnection(url,usename,password);//3、获取预编译的数据库操作对象// 以下为sql语句的框子。其中一个?,表示一个占位符,一个?将来接受一个“值”// 注意:占位符不能使用单引号括起来String sql = "select * from 管理员信息表 where 管理员编号=?";// 程序执行到此处,会发送sql语句框子给DBMS,然后DBMS进行sql语句的预先编译。pstmt = conn.prepareStatement(sql);// 给占位符?传值(第一个问号下标为1,JDBC中所有下标从1开始)pstmt.setString(1,"2333");//4、执行sqlrs = pstmt.executeQuery();//5.处理查询结果集while(rs.next()){int managerNo = rs.getInt("管理员编号");String managerName = rs.getString("管理员姓名");String managerPw = rs.getString("管理员密码");System.out.println("管理员编号:" + managerNo +" 管理员姓名:" + managerName +" 管理员密码:" + managerPw);}} catch (Exception e) {e.printStackTrace(); //打印异常输出System.out.println("数据库连接异常");} finally {//finally语句表示在try{}catch(){}方法执行完之后一定执行finally语句//6.释放资源,从小到大依次释放if(rs != null){ //先结束所查询的数据try{rs.close();}catch(SQLException e){e.prinStackTrace();}}if(pstmt != null){try{ //再结束数据库操作对象pstmt.close();}catch(SQLException e){e.prinStackTrace();}}if(conn != null){try{ //最后断开对数据库的连接conn.close();}catch(SQLException e){e.prinStackTrace();}}}}
}
输出结果:
简单了解java连接数据库的操作步骤相关推荐
- 简单介绍CentOS6升级glibc操作步骤
大家好,本篇文章主要讲的是CentOS6升级glibc操作步骤,感兴趣的小伙伴赶紧来看一看吧,对你有帮助的话记得收藏本篇文章哦!方便下次浏览 背景 测试环境有一台CentOS 6系统,需要搭建安卓编译 ...
- notepad编译java_Notepad++直接编译运行java代码的具体步骤
最近不少朋友表示还不会Notepad++直接编译运行java代码的操作步骤,使用下面小编就带来了Notepad++直接编译运行java代码的操作方法哦,一起去看看吧. Notepad++直接编译运行j ...
- 最简单的 Java 项目——Hello world(小白快速入门指南)
文章目录 最简单的 Java 项目--Hello world 步骤1:新建 Java 项目 步骤2:编写最简单的 Hello World 程序 步骤3:测试 附录 1..iml文件(iml是 inte ...
- JDBC简单操作步骤总结
JDBC 操作步骤 1:加载数据库驱动 2:建立与数据库之间的连接 3:发送SQL语句 4:获取查询结果 5:使用完之后,应进行断开连接,减少服务器负担. frist 提前下载相关jar包,添加相应依 ...
- java导入包大全_eclipse快速导入jar包的相关操作步骤
eclipse怎样快速导入jar包呢?熟悉这款软件是非常简单的,今天小编就分享了关于eclipse快速导入jar包,有需要的朋友一起来看看吧! eclipse快速导入jar包的相关操作步骤 方法1·最 ...
- ps里面怎么插入流程图_photoshop cs6绘画带箭头简单流程图的操作步骤介绍
原创photoshop cs6绘画带箭头简单流程图的操作步骤介绍 编辑:小靖子 来源:PC下载网时间:2019-09-16 11:06:30 不少的伙伴们在使用photoshop cs6软件的时候,不 ...
- linux对某个文件进行操作步骤,实验二 Linux系统简单文件操作命令
项目 内容这个作业属于哪个课程 学号-姓名 17043212-龚雨豪 作业学习目标 1. 学习在Linux系统终端下进行命令行操作: 2. 掌握常用命令行操作并能通过命令行操作解决简单问题. 操作步骤 ...
- 计算机安装操作步骤,重新安装计算机系统的步骤,最简单,最安全的操作!
分析当前的计算机系统情况,主流系统是win10.win7,而xp系统仍然占有很小的份额,因此今天我们介绍这三个系统重新安装的详细步骤. PS:由于篇幅所限,请根据需要上下滚动查找相关的系统步骤. 一. ...
- 0.5mm的焊锡丝能吃多大电流_貌似简单无奇的操作步骤 或许就能让你前功尽弃
相较于剥丝抽茧般排查设备或线路故障,以及要面面俱到地考虑到各种情况的设计工作,按照图纸进行电线压接工作绝对算的上是电工工作中最为简单轻松的工序了.但就是这看似简单无奇的接线工作,如果施工中一个不注意的 ...
最新文章
- AT NEW 用法和注意
- Hi3516A开发--apt-get更新
- Xilinx IP解析之Processor System Reset v5.0
- android xml文件格式,android xml 资源文件中几个格式(@ ? @* @+)的含义
- 定时任务调度框架实现总结
- 【BZOJ】1901: Zju2112 Dynamic Rankings(区间第k小+树状数组套主席树)
- spring 事务案例--转账
- 如何查看浏览器Cookie数据(以360为例)
- 美国国税局将允许纳税人通过现场面试选择退出 ID.me 面部识别
- linux瘦身软件下载,Linux系统瘦身裁剪 ——测试版
- USB 3.0规范中译本 第7章 链路层
- 【数据分析报告】携程客户分析与流失预测
- 并查集巧妙用法(codeforces)C. Destroying Array
- 多种语言画玫瑰,总有一款适合你表白
- Elasticsearch:创建 API key 接口访问 Elasticsearch
- java实现计算器_Java 实现简单计算器
- 项目启动初始化SQL脚本
- Zeppelin上通过Spark读写mysql数据库
- IDEA如何使用Drop Frame退回上一步Debug
- BoundsChecker的用法
热门文章
- Mil-53(Fe),cas764608-47-1
- XLSX + VUE获取表格内容,实现下载模板、导入表格、导出表格功能
- 博弈论(2)例题:混合策略+完全信息动态博弈+可置信性与序贯理性 (研究生院的竞争/否决权/技术应用) Steven Tadelis - Game Theory. An Introduction
- python图形界面化编程GUI(五)坦克大战(一)
- 计算机网络波动大,电脑网络连接不稳定这么解决
- java8 嵌套循环_Java 8嵌套循环流
- 都在说大数据获客,大数据是如何获客的?
- mac系统文本复制粘贴问题
- 分享!如何分分钟实现微信扫二维码调用外部浏览器打开指定页面的功能
- 计算机视觉理论笔记 (6) - 二值图像处理 (Binary Image Processing)