您的位置:首页 > 编程语言 > Java开发

Java基础-JDBC访问数据库

2016-11-30 20:29 435 查看
基本步骤:
加载数据库驱动
建立连接
创建SQL语句
执行SQL语句
处理执行结果
释放资源
代码示例:

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

4000
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