JDBC连接简介





















Connection

连接对象,用于与数据库取得连接

Driver

用于创建连接(Connection)对象

Statement

语句对象,用于执行SQL语句,并将数据检索到结果集(ResultSet)对象中

PreparedStatement

预编译语句对象,用于执行预编译的SQL语句,执行效率比Statement高

CallableStatement

存储过程语句对象,用于调用执行存储过程

ResultSet

结果集对象,包含执行SQL语句后返回的数据的集合





static Class forName(String className)

throws ClassNotFoundException

将由className指定完整名称的类加载到JVM中,如果加载失败,将抛出异常,必须捕捉

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
//加载并注册驱动程序

成功加载驱动后,必须使用DriverManager类的静态方法getConnection来获得连接对象;








方 法 原 型

说 明

static Connection getConnection

(String url, String user,

String password)

throws SQLException

参数url是连接字符串,参数user是数据库用户名,参数password是登录口令,成功连接到数据库返回Connection对象,连接失败则抛出SQLException异常,必须捕捉

Connection con =DriverManager.getConnection("sun.jdbc.odbc.JdbcOdbcDriver",
"scott",orcl"");

一旦成功连接到数据库,获得Connection对象后,必须通过Connection对象的createStatement方法来创建语句对象,才可以执行SQL语句;








方 法 原 型

说 明

Statement createStatement()

throws SQLException

成功创建返回Statement对象,否则抛出SQLException异常,必须捕捉

如:Statement sta = con.createStatement();

使用语句对象来执行SQL语句,有两种情况:

一种是执行DELETE、UPDATE和INSERT之类的数据库操作语句(DML),这样的语句没有数据结果返回,使用Statement对象的executeUpdate方法执行;








方 法 原 型

说 明

int executeUpdate(String sql)

throws SQLException

参数sql是要执行的SQL语句,执行成功返回受影响的行数,执行失败则抛出SQLException异常,必须捕捉

如:sta.executeUpdate("INSERT INTO Friends VALUES(‘田七‘,
‘重庆‘, 456712, ‘2003-2-25‘, 7500)");

另一种是执行SELECT这样的数据查询语句(DQL),这样的语句将从数据库中获得所需的数据,使用Statement对象的executeQuery
方法执行;








方 法 原 型

说 明

ResultSet executeQuery(String sql)

throws SQLException

参数sql是要执行的SQL语句,查询成功返回包含有结果数据的ResultSet对象,否则抛出SQLException异常,必须捕捉

如:ResultSet rs =sta.executeQuery("SELECT * FROM
Friend");

使用Statement对象的executeQuery方法成功执行SELECT语句后,将返回一个包含有结果数据的ResultSet对象,要从该对象中获取数据,将使用到如下方法:













方 法 原 型

说 明

boolean next()

throws SQLException

将结果集游标往下移动一行,如果已经到达结果集最后,将会返回false,有可能抛异常,必须捕捉

X getX(String columnName)

throws SQLException

获得某个字段的值,X是指具体的数据类型,视数据库表中字段的具体情况而定,该方法有一组,并且每个都有两种重载方法,一种是以字段名称为参数,另一种是以字段索引为参数(字段索引从1开始),有可能抛异常,必须捕捉

X getX(int columnIndex)

throws SQLException

当对数据库的操作结束后,应当将所有已经被打开的资源关闭,否则将会造成资源泄漏;

Connection对象、Statement对象和ResultSet对象都有执行关闭的close方法;

函数原型都是:void close() throws SQLException

–如:

rs.close(); //关闭ResultSet对象

sta.close(); //关闭Statement对象

con.close(); //关闭Connection对象

有可能抛出SQLException异常,必须捕捉;

请注意关闭的顺序,最后打开的资源最先关闭,最先打开的资源最后关闭。

package jdbc;
import java.sql.Connection;
import
java.sql.DriverManager;
import java.sql.ResultSet;
import
java.sql.SQLException;
import java.sql.Statement;
public class
Testjdbc {
    public static void main(String[] args)
throws SQLException {
        try

        {

           
Class.forName("oracle.jdbc.driver.OracleDriver");//加载并注册驱动程序

        }catch(ClassNotFoundException
e)//加载错误,捕获异常
        {

           
System.out.println("加载驱动失败");
       
}
          Connection con
=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl",
"scott","tiger"); //创建Connection连接对象

            Statement
sta = con.createStatement(); //创建语句对象

            ResultSet
rs=sta.executeQuery("select * from emp"); //4,执行语句对象,如果查询,要把查询结果 放到结果集当中

           
while(rs.next()){ //当没有到结尾的时候

               
System.out.print(rs.getInt("empno")+" ");//用Get方法获取字段的值

               
System.out.print(rs.getString("ename")+" ");

               
System.out.print(rs.getDouble("sal"));

               
System.out.println();

            }

            //5,关闭资源

           
rs.close();

           
sta.close();

           
con.close();

           

    }
}

时间: 2024-08-04 14:42:21

JDBC连接简介的相关文章

数据层优化-jdbc连接池简述、druid简介

终于回到既定轨道上了,这一篇讲讲数据库连接池的相关知识,线程池以后有机会再结合项目单独写篇文章(自己给自己挖坑,不知道什么时候能填上),从这一篇文章开始到本阶段结束的文章都会围绕数据库和dao层的优化去写,本篇是一个开始.本文会介绍连接池技术并对比目前比较流行的java连接池技术,之后,会把druid整合到项目中来,将技术方案落地,实际整合到项目中,让技术能为我所用. 使用连接池的原因 jdbc的demo //第一步,注册驱动程序 //com.MySQL.jdbc.Driver Class.fo

jdbc连接HIVE

在hive上启动service hive --service hiveserver 在eclipse中进行开发 导入需要的jar包(我这个导入的是udf和jdbc连接hive需要的jar包,基本是最简的了) 我的代码,hive的语法就不说了,大家可以修改例子中的sql来进行自己的业务.我的hive没有设置用户名,密码.所以   Connection con = new HiveJDBC().getConnection(             "jdbc:hive://192.168.192.1

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConver

Android 服务器jdbc连接错误

============问题描述============ 服务器端用jdbc连接数据库,结果出现这样的错误: org.apache.catalina.core.StandardWrapperValve invoke ??: Servlet.service() for servlet [LoginServlet] in context with path [/BBStuServlet] threw exception java.lang.NullPointerException at com.ro

JDBC连接Oracle数据库

我记得大二的时候,我们上java课程,当时老师就说了JDBC这个东西,也没怎么好好学,直到现在,我也不直到JDBC是什么玩意,就知道这玩意可以从数据库提取数据,那么JDBC到底是什么呢? JDBC是Java DataBase Connectivity的缩写,含义意思是java数据库连接,不需要多解释了,我感觉! 那么我们如何去做这样子的一个连接呢?用过一次之后就会发现,其实很简单,记住几个步骤,还有就是导入必要的驱动包就可以了,下面是几个重要的步骤: 第一步,你的项目环境中必须要导入必要的数据库

HSQLDB源码学习——数据库安装启动及JDBC连接

HSQLDB 是一个轻量级的纯Java开发的开放源代码的关系数据库系统.因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中. 在http://sourceforge.net/projects/hsqldb/files/下载了HSQLDB 1.8.0版本.把下载的zip文件解压缩至任意目录例如c:\hsqldb1.8便完成安装. hsqldb有四种运行模式: 一.内存(Memory-Only)模式:所有数据都在内存里操作.应用程

mac jdbc连接mysql

1.下载jdbc驱动: http://dev.mysql.com/downloads/connector/j/ 2.加入jdbc的jar包至项目的libs目录并build path 2.修改环境变量:export PATH=/usr/local/mysql/bin/:${PATH} 3.默认[email protected]没有密码 4.修改密码: 命令行:mysqladmin -u root -p  password root MYSQL环境中的命令: mysql> UPDATE mysql.

MySql & JDBC & 连接池 & 总结

连接池:解决资源浪费,提高代码性能. 本小节目标: 使用DBCP,C3P0连接池完成基本数据库的操作. 使用DBUtils完成CRUD的操作. 数据库连接池的解决方案是: 当应用程序启动时,系统主动建立足够的数据库连接,并将这些连接组成一个连接池.每次应用程序请求数据库连接时,无须重新打开连接,而是从连接池中取出已有的连接使用,使用完后不再关闭数据库连接,而是直接将连接归还给连接池.通过使用连接池,将大大提高程序的运行效率. 数据库连接池是Connection 对象的工程.数据库连接池的常用参数

(详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

欢迎任何形式的转载,但请务必注明出处. 1.jdk 点击查看安装和环境配置教程 2.Eclipse 点击进入官网下载 注意下载完成打开.exe后,出现下图界面,有很多版本供选择 本人目前在学JSP所以安装的是Java EE版本,初学者可以选择第一个Java Developers版本 3.Mysql 点击进入官网下载 点击进入推荐安装教程+环境配置 下载页面注意事项 (虽然选项只有32位的,但下载完成后32位和64位都会安装) (上面的是在线安装,下面的是离线安装,建议选择离线安装) 系列文章 (