基本步骤:

  1. 加载数据库驱动
  2. 建立连接
  3. 创建SQL语句
  4. 执行SQL语句
  5. 处理执行结果
  6. 释放资源

代码示例:

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; import junit.framework.TestCase; public class JDBCTest
extends TestCase
{
@org.junit.Test
public void testJDBC() throws Exception{
// 1.加载驱动
//Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("oracle.jdbc.driver.OracleDriver");
// 2.创建数据库连接对象
//Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=db","sa","sqlpass");
//Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8","root","mysql");
Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","orcl");
// 3.创建数据库执行命令
Statement st=conn.createStatement();
PreparedStatement ps=conn.prepareStatement("SELECT * FROM EMP ORDER BY 8");
// 4.执行数据库命令
ResultSet rs=st.executeQuery("SELECT * FROM EMP ORDER BY 8");
ResultSet prs=ps.executeQuery();
// 5.处理执行结果
while(rs.next()){
int empno=rs.getInt("empno");
String ename=rs.getString(2);
Integer deptno=rs.getInt(8);
System.out.println("Statement---工号:"+empno+" 姓名:"+ename+" 部门:"+deptno);
}
while(prs.next()){
int empno=prs.getInt("empno");
String ename=prs.getString(2);
Integer deptno=prs.getInt(8);
System.out.println("PreparedStatement---工号:"+empno+" 姓名:"+ename+" 部门:"+deptno);
}
// 6.释放数据库资源
if(null!=rs||null!=prs){
rs.close();
prs.close();
}
st.close();
ps.close();
conn.close();
}
}

执行结果:

Statement---工号:7782 姓名:CLARK 部门:10
Statement---工号:7839 姓名:KING 部门:10
Statement---工号:7934 姓名:MILLER 部门:10
Statement---工号:7566 姓名:JONES 部门:20
Statement---工号:7902 姓名:FORD 部门:20
Statement---工号:7876 姓名:ADAMS 部门:20
Statement---工号:7369 姓名:SMITH 部门:20
Statement---工号:7788 姓名:SCOTT 部门:20
Statement---工号:7521 姓名:WARD 部门:30
Statement---工号:7844 姓名:TURNER 部门:30
Statement---工号:7499 姓名:ALLEN 部门:30
Statement---工号:7900 姓名:JAMES 部门:30
Statement---工号:7698 姓名:BLAKE 部门:30
Statement---工号:7654 姓名:MARTIN 部门:30
PreparedStatement---工号:7782 姓名:CLARK 部门:10
PreparedStatement---工号:7839 姓名:KING 部门:10
PreparedStatement---工号:7934 姓名:MILLER 部门:10
PreparedStatement---工号:7566 姓名:JONES 部门:20
PreparedStatement---工号:7902 姓名:FORD 部门:20
PreparedStatement---工号:7876 姓名:ADAMS 部门:20
PreparedStatement---工号:7369 姓名:SMITH 部门:20
PreparedStatement---工号:7788 姓名:SCOTT 部门:20
PreparedStatement---工号:7521 姓名:WARD 部门:30
PreparedStatement---工号:7844 姓名:TURNER 部门:30
PreparedStatement---工号:7499 姓名:ALLEN 部门:30
PreparedStatement---工号:7900 姓名:JAMES 部门:30
PreparedStatement---工号:7698 姓名:BLAKE 部门:30
PreparedStatement---工号:7654 姓名:MARTIN 部门:30

Java基础-JDBC访问数据库的更多相关文章

  1. Java Spring JDBC访问数据库

    一.首先采用org.springframework.jdbc.datasource.DriverManagerDataSource类进行实现 1.applicationContext.xml配置如下: ...

  2. java通过JDBC访问数据库(最基本的查询)

    一.步骤介绍 1.通过Class.forName()加载驱动: 2.通过DriverManager.getConnection()获取Conncetion连接对象: 3.创建Statement对象传递 ...

  3. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)

    一.Jdbc访问数据库步骤通俗解释(吃饭) 1)加载驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServer”); 2) 与数据库建立连接 Co ...

  4. ava基础MySQL存储过程 Java基础 JDBC连接MySQL数据库

    1.MySQL存储过程   1.1.什么是存储过程 带有逻辑的sql语句:带有流程控制语句(if  while)等等 的sql语句   1.2.存储过程的特点 1)执行效率非常快,存储过程是数据库的服 ...

  5. Jdbc访问数据库篇

    一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ...

  6. javaweb三、JDBC访问数据库

    JDBC是J2SE的内容,是由java提供的访问数据库的接口,但没有提供具体的实现方法,需要数据库厂商提供,就是对应的数据库驱动. 这样的好处是可以方便的更换数据库,提高了扩展性.这也是面向接口编程的 ...

  7. 如何通过JDBC访问数据库

    Java数据库连接(JDBC)用与在Java程序中实现数据库操作功能,它提供了执行SQL语句.访问各种数据库的方法,并为各种不同的数据库提供统一的操作接口,java.sql包中包含了JDBC操作数据库 ...

  8. java通过jdbc访问mysql,update数据返回值的思考

    java通过jdbc访问mysql,update数据返回值的思考 先不说那么多,把Java代码贴出来吧. public static void main(String[] args) throws I ...

  9. JDBC访问数据库的具体步骤(MySql + Oracle + SQLServer)

    * 感谢DT课堂颜群老师的视频讲解(讲的十分仔细,文末有视频链接) import java.sql.Connection; import java.sql.DriverManager; import ...

随机推荐

  1. 利用Python imaplib和email模块 读取邮件文本内容及附件内容

    python使用imap接收邮件的过程探索 https://www.cnblogs.com/yhlx/archive/2013/03/22/2975817.html #! encoding:utf8 ...

  2. 利用面向对象思想封装Konva动态进度条

    1.html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  3. 从零开始,跟我一起做jblog项目(三)从Maven到Gradle

    http://www.cnblogs.com/newflydd/p/4972922.html?utm_source=tuicool&utm_medium=referral ********** ...

  4. java+ajax实例

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  5. Centos7 squid安装与配置

    装squid yum install -y squid 安装httpd(用于后面生成密码文件) yum install -y httpd 或者 yum install httpd-tools -y 配 ...

  6. PLSQL Developer新手使用教程(图文教程)

    PLSQL Developer是Oracle数据库开发工具,很牛也很好用,PLSQL Developer功能很强大,可以做为集成调试器,有SQL窗口,命令窗口,对象浏览器和性能优化等功能,下面简单的介 ...

  7. 使用Eclipse创建的第一个javabean,cannot resolved to a type

    第一个原因是我没有把eclipse编译好的class文件放在项目的build文件夹中的(我创建的是dynamic web project),你要把/build/classes/文件夹给合并到WebCo ...

  8. python匹配两个字符串中间的字符串

    问题:使用python正则如何匹配两字符串中间的字符串解决:使用re模块的findall,注意,re.match是只能从开头匹配的方法: import re html_str = '</a> ...

  9. Activiti工作流学习要点

    1. 1个插件 在Eclipse中安装Activiti插件,让你可以在Eclipse中绘制Activiti工作流图 2. 1个引擎 ProcessEngine对象,Activiti工作流引擎.这是Ac ...

  10. 【转】【C#】判断当前操作系统

    写一个判断操作系统的工具类OSHelper.cs public class OSHelper { // 获取操作系统ID public static System.PlatformID GetPlat ...