linux用java连接mysql_Java使用JDBC方式连接数据库

开发一个JDBC应用程序,基本需要以下几个步骤:

1.把JDBC驱动类装载入Java虚拟机中。使用java.lang.Class类的静态方法forName(String  className)实现。

例: Class.forName("JDBC驱动类名称")

2.加载驱动,并与数据库建立连接。DriverManager类跟着已注册的驱动程序,当我们调用getConnection()方法时,它会遍历驱动程序列表,直到匹配上一个能够连接至数据连接字符串中指定的数据库的驱动程序,加载此驱动程序后,使用DriverManager类的getConnection方法建立与数据库之间的连接。

例:

Connection con = DriverManager.getConnection(数据库连接字符串,数据库用户名,密码)

3.发送SQL语句并得到结果集。创建一个Statement接口的实例,并将SQL语句传递给它所连接的数据库。

Statement实例分为3种类型:

(1)执行静态SQL语句。通常通过Statement实例实现。

(2)执行动态SQL语句。通常通过PreparedStatement实例实现。

(3)执行数据库存储过程。通常通过CallableStatement实例实现。

例:

Statement stmt =con.createStatement();

ResultSet rs= stmt.executeQuery("select * from table1");

Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate ,execute语句。

ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句 并返回一个结果集(ResultSet)对象。

int executeUpdate(String sqlString):用于执行INSERT、UPDATE或DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等

execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的语句。

例:

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;int rows = stmt.executeUpdate("INSERT INTO ...") ;boolean flag = stmt.execute(String sql) ;

4.处理结果。处理结果分为两种情况:

(1)执行更新返回的是本次操作影响到的记录数。

(2)  执行查询返回的结果是一个ResultSet对象。

例:

while(rs.next()){int x=rs.getInt("a");

String s=rs.getString("b");float f=rs.getFloat("c");

}

5.关闭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() ;

}

}

0b1331709591d260c1c78e86d0c51c18.png

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

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

相关文章

java web gradle_gradle学习之旅(四) 使用gradle构建简单的java web项目

本节通过一个简单的javaweb项目来体会gradle的使用需求构建一个javaweb项目,搭建jspservlet开发环境可以将需求分解为两步:使用gradle构建一个java项目为该项目构建web视图层工具gradle4.3ideajdk 1.8实验过程首先在idea中创建一个空的gradle项目创建如下…

java 整数 引用传递_关于Java引用传递的一个困惑?

Java的引用(包括基本类型,对象引用类型)在声明、方法调用等时候都会产生新的引用,复制等号右侧的引用。分为下面3种情况:基本类型代表的值存储在引用里面,引用中专门有个区域存储这个值,所以在复制的时候,值…

java fastjson 泛型_解决fastjson泛型转换报错的解决方法

错误信息Exception in thread "main" java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to com.xh.demo.UserDO泛性类Datapublic class ResultSetDTO {private Integer totalSize;private Integer count;private List records;}实体类…

通达OA header身份认证绕过漏洞复现

通达OA是中国通达公司的一套协同办公自动化软件,通达OA2013,通达OA2016,通达OA2017 存在身份认证绕过漏洞,攻击者可以利用漏洞生成cookie,实现未授权访问。 1.漏洞级别 高危 2.漏洞搜索 fofa title"office An…

leetcode mysql 排名_Leetcode178.分数排名(中等)

题目编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。-----------| Id | Score |-----------| 1 | 3.50 || 2 | 3.6…

java post 中文乱码问题_java post中文乱码问题

java post中文乱码问题function addcategory() {if (document.myform.category.value "") {alert("商品分类不能为空");return;}//var categorydocument.getElementById("category").value;var c document.myform.category.value;alert(c);wit…

java struct工作原理_Struts2的工作原理(图解)详解

Struts2的工作原理上图来源于Struts2官方站点,是Struts 2 的整体结构。一个请求在Struts2框架中的处理大概分为以下几个步骤(可查看源码:https://github.com/apache/struts):1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列的…

java 旅行家的预算_洛谷 P1016 旅行家的预算 Java解法

洛谷 P1016 旅行家的预算 Java解法洛谷 P1016 旅行家的预算 Java解法package com.two;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);double D1 sc.nextDouble();// 两个城市之间的距离double C …

java语言执行过程_Java程序的运行过程(执行流程)分析

万事知其然,要知其所以然,所以本节带大家来详细了解一下 Java 程序的执行过程。从《使用记事本编写运行Java程序》一节的案例可以看出,Java 程序的运行必须经过编写、编译和运行 3 个步骤。编写:是指在 Java 开发环境中进行程序代…

php搭建云服务器,云服务器上如何搭建php环境

1) 安装libtool和libtool-ltdl[rootlocalhost mysql]# yum -y install "libtool*"[rootlocalhost mysql]# yum -y install "libtool-ltdl*"2) 手工修改gd库文件PHP 5.4 也有一些 Bug,在检测 gd 库时会报错,需要我们手工修改。命令如…

php实现文本替换,php 如何实现文字替换

php实现文字替换的方法:首先创建一个PHP示例文件;然后输入代码“str_replace("iwind", "kiki", "i love iwind, iwind said");”;最后输出执行结果即可。在php替换字符效率最高也是最简单字符替换函数str_repl…

php 删除指定html标签,php删除html标签的三种解决办法

分享下PHP删除HTMl标签的三种方法。方法1:直接取出想要取出的标记function strip($str){$strstr_replace("","",$str);//$strhtmlspecialchars($str);return strip_tags($str);}//edit by www.jbxue.com?>方法2.PHP 中有个 strip_tags 函数…

达内php第三次月考,达内第三次月考

1. 下列不属于浏览器内置的对象的是:()A. navigatorB. documentC. windowD. request正确答案:D2. Servlet 可以存储数据的三个不同的作用域是()。A. 请求、会话和上下文B. 响应、会话和上下文C. 请求、响应和会话D. 请求、响应和上下文正确答案&#xff…

java win10 通知,如何使用Java AWT创建和显示Windows 10通知

在Java中, 如何生成不同类型的通知或警报非常令人困惑。一些开发人员更喜欢使用JOptionPane, 但是当你在固定环境中工作时(例如在Windows 10中), 使用Windows的默认通知样式非常好, 因此这就是为什么我们向你展示一个简短的摘要来显示Java AWT轻松实现Windows 10通知。以下代码…

matlab枚举类型,在 Simulink 模型中使用枚举数据

计算中的枚举值按照设计,Simulink 不允许在数学计算中将枚举值作为数值使用,即使枚举类是 MATLAB int32 类的子类也是如此。因此,尽管枚举类型存在基础整数,也不能作为数值类型使用。例如,您不能直接为 Gain 模块输入枚…

dataguard mysql,[dataguard同步数据库]Dataguard环境下数据库的备份与恢复

在线QQ客服:1922638专业的SQL Server、MySQL数据库同步软件在部署完active data guard后,不但可以将只读的查询交给备库执行,还可以把日常的数据库备份工作放在备库上执行,从而减轻主库的压力,充分的发挥服务器资源&am…

php getimagecompose,Docker进阶:Dockerfile以及docker-compose工具

Dockerfile:用来定制镜像的文件Docker-compose:用来部署容器集群的命令工具Dockerfile基本语法FROM:指定基础镜像,格式一般是FROM :FROM必须是Dockerfile的第一条非注释的命令是镜像名,是指定版本,不写的话…

Redis的安装以及使用

第一步,去官网下载一个压缩包到本地解压即用,绿色软件,不用其他操作,点击Download下载即可: Introduction to Redis | RedisLearn about the Redis open source projecthttps://redis.io/docs/about/第二步&#xff0…

oracle+行换列,Oracle的数据表中行转列与列转行的操作实例讲解

行转列一张表查询结果为--行转列select years,(select amount from Tb_Amount as A where month1 and A.yearsTb_Amount.years)as m1,(select amount from Tb_Amount as A where month2 and A.yearsTb_Amount.years)as m2,(select amount from Tb_Amount as A where month3 and…

js十秒没有点击怎么判断_MAC口红怎么判断真假?没批号就没有生产日期,网友:品控太差...

一般来说,MAC的口红产品,底部都会有三位编码,这是该款口红的批号。因像MAC这类国外美妆护肤品牌,是不会将生产日期明确的标注在产品上,都是将其编码成批号,在标注在外包装或者产品的侧面、底部等边缘位置。…