Java七步创建以JDBC连接数据库的程序
JDBC连接数据库
◆ 创建一个以JDBC连接数据库的程序,包含7个步骤:
1、加载JDBC驱动程序:
在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现。
例如:
try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ System.out.println("找不到驱动程序类 ,加载驱动失败!"); e.printStackTrace() ; } |
成功加载后,会将Driver类的实例注册到DriverManager类中。
2、提供JDBC连接的URL
◆ 连接URL定义了连接数据库时的协议、子协议、数据源标识。
◆ 书写形式:协议:子协议:数据源标识
协议:在JDBC中总是以jdbc开始
子协议:是桥连接的驱动程序或是数据库管理系统名称。
数据源标识:标记找到数据库来源的地址与连接端口。
例如:(MySql的连接URL)
jdbc:mysql: //localhost:3306/test?useUnicode=true&characterEncoding=gbk ; |
useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
3、创建数据库的连接
◆ 要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,该对象就代表一个数据库的连接。
◆ 使用DriverManager的getConnectin(String url,String username,String password)方法传入指定的欲连接的数据库的路径、数据库的用户名和 密码来获得。
例如:
//连接MySql数据库,用户名和密码都是root String url = "jdbc:mysql://localhost:3306/test" ; String username = "root" ; String password = "root" ; try{ Connection con = DriverManager.getConnection(url , username , password ) ; }catch(SQLException se){ System.out.println("数据库连接失败!"); se.printStackTrace() ; } |
4、创建一个Statement
◆ 要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3种类型:
1、执行静态SQL语句。通常通过Statement实例实现。
2、执行动态SQL语句。通常通过PreparedStatement实例实现。
3、执行数据库存储过程。通常通过CallableStatement实例实现。
具体的实现方式:
Statement stmt = con.createStatement() ; PreparedStatement pstmt = con.prepareStatement(sql) ; CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ; |
\\\5、执行SQL语句
Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句,返回一个结果集(ResultSet)对象。
2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。
具体实现的代码:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ; int rows = stmt.executeUpdate("INSERT INTO ...") ; boolean flag = stmt.execute(String sql) ; |
6、处理结果
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
◆ ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
◆ 使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){ String name = rs.getString("name") ; String pass = rs.getString(1) ; // 此方法比较高效 } |
(列是从左到右编号的,并且从列1开始)
7、关闭JDBC对象
操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声明顺序相反:
1、关闭记录集
2、关闭声明
3、关闭连接对象
if(rs != null){ // 关闭记录集 try{ rs.close() ; }catch(SQLException e){ e.printStackTrace() ; } } if(stmt != null){ // 关闭声明 try{ stmt.close() ; }catch(SQLException e){ e.printStackTrace() ; } } if(conn != null){ // 关闭连接对象 try{ conn.close() ; }catch(SQLException e){ e.printStackTrace() ; } } |
Java七步创建以JDBC连接数据库的程序相关推荐
- Java使用三层架构、JDBC连接数据库完成《试题信息管理系统》
开发基于控制台的试题信息管理系统.具体要求如下: (1)显示试题信息管理系统主菜单,如图-1所示,包括: 1)列出所有试题信息 2)按科目查询 3)按题干模糊查询 4)添加试题 5)删除试题 6)退出 ...
- jaydebeapi可以连接_Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库
1 importjpype,os,time,timer2 from jpype importjava3 from jpype importjavax4 5 HOST='192.168.48.103' ...
- 七步 JDBC连接数据库
JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.la ...
- 完整java开发中JDBC连接数据库代码和步骤
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...
- Java开发中JDBC连接数据库代码和步骤
JDBC连接数据库:创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lan ...
- java jdbc连接 代码块_java 中JDBC连接数据库代码和步骤详解及实例代码
•创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的 ...
- JDBC连接数据库的七个步骤(超详细)
JDBC连接数据库 1.JDBC所需的四个参数(user,password,url,driverClass) 2.加载JDBC驱动程序 3.创建数据库的连接 4.创建一个preparedStateme ...
- jdbc连接数据库的代码和步骤
jdbc连接数据库的代码和步骤 学习目标 jdbc连接数据库的代码和步骤 1.加载JDBC 驱动程序: 2.提供JDBC连接需要的URL 3.创建数据库的连接 4.创建一个Statement 5.执行 ...
- JDBC连接数据库总结
JDBC连接数据库 一下以mysql 数据库连接来说明 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(J ...
最新文章
- js轮播图代码_javascript基础(一)——轮播图
- 如何解决java.lang.NoClassDefFoundError:Java 9中的javax / xml / bind / JAXBException
- 【C# interface接口】模拟MP3/AVI播放器
- linux 连接数 限制,linux设置最大连接数
- ARM指令集与Thumb指令集--区别关联--汇编指令 BX LR ; 跳转回LR地址处,既可以是ARM模式也可以是Thumb模式
- Tomcat8.5.40启动后一直卡在日志At least one JAR was scanned for TLDs yet contained no TLDs
- 从h264码流中获取图像的宽高---版本2(简洁版)
- 7-3 复数四则运算 (15 分)
- android 自定义加载动画效果,Android自定义加载动画-旋转的叶子
- Linux沙箱技术简介
- AVR单片机LED单灯闪烁
- 编程经验:关于如何在自己的网站或博客添加CNZZ站长统计功能
- 六【Java 基础】数组的概述: 数组的定义与使用
- 关于十六进制发送和显示(VS上位机和下位机)
- 分水岭算法(学习笔记)
- 【飞书系列】—— 飞书妙记:语音转文字,视频转文字
- Docker Windows桌面版安装 Windows家庭版伪装成专业版系统
- idea 链接github 无法成功登陆, SpringCloud Config 分布式配置中心配置
- scp的用法,包括windows和linux
- WIndows Perl-5.36的下载安装记录
热门文章
- python 区域和检索_304. 二维区域和检索(Python)
- linux快捷键 赋值,2_Shell语言———bash的快捷键、变量声明、引用变量及变量替换...
- 2019智能手表推荐_智能手表一定越贵越好?试用过后这五款才真正值得推荐
- antd 验证 动态 required_3分钟短文:十年窖藏,Laravel告诉你表单验证的正确姿势
- 滚动时域控制 matlab,在 Simulink 中设计神经网络预测控制器
- Linux从mysql中读取数据_linux shell中读写操作mysql数据库
- 矩阵计算在计算机科学中,开发者必读:计算机科学中的线性代数(附论文)
- 轮播切换_javascript基础(一)——轮播图
- 样式集(四)搜索框样式
- 对数组中的数字从小到大排序