zoukankan      html  css  js  c++  java
  • Java基础-JDBC访问数据库

    基本步骤:

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

    代码示例:

     1 import java.sql.Connection;
     2 import java.sql.DriverManager;
     3 import java.sql.PreparedStatement;
     4 import java.sql.ResultSet;
     5 import java.sql.Statement;
     6 
     7 import junit.framework.TestCase;
     8 
     9 public class JDBCTest 
    10     extends TestCase
    11 {
    12     @org.junit.Test
    13     public void testJDBC() throws Exception{
    14 //        1.加载驱动
    15         //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    16         //Class.forName("com.mysql.jdbc.Driver");
    17         Class.forName("oracle.jdbc.driver.OracleDriver");
    18 //        2.创建数据库连接对象
    19         //Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=db","sa","sqlpass");
    20         //Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8","root","mysql");
    21         Connection conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","orcl");
    22 //        3.创建数据库执行命令
    23         Statement st=conn.createStatement();
    24         PreparedStatement ps=conn.prepareStatement("SELECT * FROM EMP ORDER BY 8");
    25 //        4.执行数据库命令
    26         ResultSet rs=st.executeQuery("SELECT * FROM EMP ORDER BY 8");
    27         ResultSet prs=ps.executeQuery();
    28 //        5.处理执行结果
    29         while(rs.next()){
    30             int empno=rs.getInt("empno");
    31             String ename=rs.getString(2);
    32             Integer deptno=rs.getInt(8);
    33             System.out.println("Statement---工号:"+empno+" 姓名:"+ename+" 部门:"+deptno);
    34         }
    35         while(prs.next()){
    36             int empno=prs.getInt("empno");
    37             String ename=prs.getString(2);
    38             Integer deptno=prs.getInt(8);
    39             System.out.println("PreparedStatement---工号:"+empno+" 姓名:"+ename+" 部门:"+deptno);
    40         }
    41 //        6.释放数据库资源
    42         if(null!=rs||null!=prs){
    43             rs.close();
    44             prs.close();
    45         }
    46         st.close();
    47         ps.close();
    48         conn.close();
    49     }
    50 }

    执行结果:

    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

  • 相关阅读:
    SQL SERVER的检查点checkpoint
    MySQL备份说明
    声明对象和创建对象的区别
    getParameter的用法总结
    Jsp的九大对象,七大动作,三大指令
    为什么内部类访问的外部变量需要使用final修饰
    java synchronized详解
    网上选课系统需求说明书
    第三次作业
    第二次作业
  • 原文地址:https://www.cnblogs.com/yw0219/p/6107925.html
Copyright © 2011-2022 走看看