• 本季内容提要
–JDBC 简介
–JDBC 驱动
–JDBC 包
–JDBC 常用接口和类
–JDBC 编程步骤
–实例 • 查询用户信息
###############Michael分割线####################
• JDBC 简介
–JDBC是Java语言提供访问和操作数据库的一种途径
–通过使用JDBC可以操作任意的SQL语句,来访问和操作数据库
• DML
• DDL
• DCL
–JDBC 在应用程序中的位置
image
• JDBC 驱动
–JDBC是一种跨平台的实现机制,是一个接口规范的定义
–使用不同的数据库需要加载不同的数据库驱动实现
–这样就提供了操作数据库的统一方式
• JDBC 包
java.sql
• JDBC的核心类和接口
javax.sql
• 数据库连接池、数据源、JNDI和Rowset等高级特征
• JDBC 常用接口和类
DriverManager
• 驱动管理器获得数据库连接
Connection
• 数据库连接接口
Statement
• 语句接口,用来静态操作SQL语句
PreparedStatement
• 预定义语句,用来动态操作SQL语句
CallableStatement
• 可以调用存储过程的预定义语句
ResultSet
• 结果集,保存数据记录的结果集合
ResultSetMetaData
• 结果集元数据,如:列名称、列类型等
DatabaseMetaData
• 数据元数据,如:数据库名称、版本等
• JDBC编程步骤
–加载数据库驱动(jar 文件)
–获得数据库连接
–创建语句
–执行查询
–遍历结果集
–关闭数据库连接
• 实例
–查询用户信息
 image
(1)创建数据库jdbc_db
image
(2)创建表UserTbl
 image
(3)可以手动输入数据
image
下面我们要查询以上数据哈~
(4)新建工程JDBC_Intro
 image
(5)创建com.michael.jdbc包
image
(6)新建Tester类
image
(7) 加载数据库驱动(jar文件)
image
(8)获得数据库连接
image
image
image
image
image
image
image
image
image
开启数据库连接
image
可以编辑数据
image
image
设置加载驱动类
image
设置数据库连接
image
(9)创建语句
查询数据测试
image
image
image
(10)执行查询
创建Statement
image
执行Statement语句返回结果集
image
(11)遍历结果集
创建while循环
image
(12)关闭数据库连接
image 
(13)设置主方法
image
(14)源代码
package com.michael.jdbc;    

import java.sql.Connection;    
import java.sql.DriverManager;    
import java.sql.ResultSet;    
import java.sql.SQLException;    
import java.sql.Statement;    

public class Tester {    

        /**    
         * @param args    
         */
    
        public static void main(String[] args) {    
                query();    

        }    
        public static void query(){    
                Connection conn = null;    
                try {    
                        Class.forName("com.mysql.jdbc.Driver");    
                        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc_db", "root", "mysqladmin");    
                        String sql = "select * from UserTbl";    
                        Statement stmt = conn.createStatement();    
                        ResultSet rs = stmt.executeQuery(sql);    
                        while(rs.next()){    
                                int id = rs.getInt(1);    
                                String username = rs.getString(2);    
                                String password = rs.getString(3);    
                                int age = rs.getInt(4);    
                                System.out.println(id+":"+username+":"+password+":"+age);    
                        }    
                } catch (Exception e) {    
                        // TODO Auto-generated catch block    
                        e.printStackTrace();    
                }finally{    
                        if(conn!=null){    
                                try {    
                                        conn.close();    
                                } catch (SQLException e) {    
                                        conn = null;    
                                        e.printStackTrace();    
                                }    
                        }    
                }    
        }    

}
(15) 查询测试
image
###############Michael分割线####################