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,一经查实,立即删除!

相关文章

mysql 字段钳口可加引号_根据处理对象划分,计算机可以分为模拟计算机、(

【判断题】( )3.保证数控机床各运动部件间的良好润滑就能提高机床寿命。【单选题】在储位编码中,把一些相关性货品经过集合以后,区分成几个品项群,再对其进行编码的方法是( )。【填空题】在数据库技术中,DBMS是 ,DB是指() 、DBS是指数据库系统。【单选题】25. 为保证下刀的安全…

mysql存储过程游标移动_mysql动态游标与mysql存储过程游标(示例)

-- 建立测试表和数据create table webuser (username varchar(10));insert into webuser values (a1),(a2),(a3),(b1),(b2),(b3);commit;-- 建立存储过程drop procedure if exists dynamic_cursor;delimiter // www.jbxue.comCREATE PROCEDURE dynamic_cursor (IN p_name varch…

python ftplib bufsize_python:ftplib模块

from ftplib import FTP #加载ftp模块ftpFTP() #设置变量ftp.set_debuglevel(2) #打开调试级别2,显示详细信息ftp.set_pasv(0) #0主动模式 1 #被动模式ftp.connect("IP","port") #连接的ftp s…

python程序设计实验教程_Python程序设计实验教程

第1章 主教材各章节概要1.1 Python概述概要1.1.1 Python简介1.1.2 Python开发环境1.1.3 Python程序示例1.2 Python基础知识概要1.2.1 程序的书写规范1.2.2 标识符和关键字1.2.3 Python的数值类型、常量与变量1.2.4 Python的字符串类型1.2.5 数据类型判断和数据类型间转换1.2.6 …

java获取年的第一天和最后一天_java中如何获取当前年份的第一天和最后一天

packagecom.dada.test;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;public classDateUtil {/*** 默认日期格式*/public static String DEFAULT_FORMAT "yyyy-MM-dd";/*** 测试主方法*paramargs*/public static voidmain(Strin…

sqlserver java odbc_Java JDBC------------------ODBC(SQLServer)链接

Java JDBC------------------ODBC(SQLServer)链接JDBC是Java提供的连接数据库的一套标准API,是在传统的JDBC-ODBC桥发展起来的。今天我将写出如何用JDBC配置数据源(ODBC)链接SQL Server 数据库。1、配置数据源【开始】->【控制面板】->【管理工具】->【数据…

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 调用foxmail_java邮件收发功能实现代码

本文实例为大家分享了邮件收发功能的具体实现代码,供大家参考,具体内容如下准备工作, 环境搭建:1. 本地搭建一个邮件服务器 易邮服务器,eyoumailserversetup.exe2. 新建邮箱账号 张三给李四发邮件。步骤1: 新建域…

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_Java原子变量详解

实现全局自增id最简单有效的方式是什么? java.util.concurrent.atomic 包定义了一些常见类型的原子变量。这些原子变量为我们提供了一种操作单一变量无锁( lock-free )的线程安全( thread-safe )方式。实际上该包下面的类为我们提供了类似 volatile 变量的特性&…

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…

mysql连接数详解_MySQl 修改最大连接数详解

今天使用ide连接线下MySQL报错Can not connect to MySQL server. Too many connections,报错很明确,与MySQL的连接数满了。想想也是,每起一个服务都会创建MySQL连接池,占用不少的长连接。用ide查看了一下,原来最大连接…

java 保存 设置_java – 保存设置的实现

我正在写一些关于android的游戏.我想知道如何保存设置,以免出现更新问题.例如,我使用序列化保存设置,我有类GameCharpublic class GameChar implements Serializable{int health;int damage;Sword sword;}但后来我决定为我的游戏角色增加价值装甲,我改变了类:public…

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

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

java导出富文本到word_富文本编辑器内容实现word导出下载,请各位大神们指点,感激不尽...

展开全部给个我之前的写的例子给你action 层public ActionForward dataExport(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {try {response.setContentType("application/vnd.ms-excel;charsetUTF-8");Strin…

java线程切换速度_为什么说线程太多,cpu切换线程会浪费很多时间?

cpu在执行代码的时候【以下说明只在linux平台上,win我不会】该程序已经是ELF executable file 且该文件内部按ELF格式存储了机器指令数据同时该文件必须引用linux 的核心api库【动态库】libc.so 及linux-x86-64.so 核心文件。启动的时候操作系统会识别该文件的ELF文…

java私塾 java篇_Java私塾跟我学系列——JAVA篇 五、

五:Java如何做到让机器理解我们想要做的东西用一个图来描述这个过程会比较容易理解:1:编写代码首先把我们想要计算机做的事情,通过Java表达出来,写成Java文件,这个过程就是编写代码的过程。如上图所示的Hel…