• 本季内容提要
–JDBC 简介
–JDBC 驱动
–JDBC 包
–JDBC 常用接口和类
–JDBC 编程步骤
–实例 • 查询用户信息
###############Michael分割线####################
• JDBC 简介
–JDBC是Java语言提供访问和操作数据库的一种途径
–通过使用JDBC可以操作任意的SQL语句,来访问和操作数据库
• DML
• DDL
• DCL
–JDBC 在应用程序中的位置
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql
• JDBC 驱动
–JDBC是一种跨平台的实现机制,是一个接口规范的定义
–使用不同的数据库需要加载不同的数据库驱动实现
–这样就提供了操作数据库的统一方式
• JDBC 包
java.sql
• JDBC的核心类和接口
javax.sql
• 数据库连接池、数据源、JNDI和Rowset等高级特征
• JDBC 常用接口和类
DriverManager
• 驱动管理器获得数据库连接
Connection
• 数据库连接接口
Statement
• 语句接口,用来静态操作SQL语句
PreparedStatement
• 预定义语句,用来动态操作SQL语句
CallableStatement
• 可以调用存储过程的预定义语句
ResultSet
• 结果集,保存数据记录的结果集合
ResultSetMetaData
• 结果集元数据,如:列名称、列类型等
DatabaseMetaData
• 数据元数据,如:数据库名称、版本等
• JDBC编程步骤
–加载数据库驱动(jar 文件)
–获得数据库连接
–创建语句
–执行查询
–遍历结果集
–关闭数据库连接
• 实例
–查询用户信息
 Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_02
(1)创建数据库jdbc_db
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_JDBC_03
(2)创建表UserTbl
 Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_EE_04
(3)可以手动输入数据
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_05
下面我们要查询以上数据哈~
(4)新建工程JDBC_Intro
 Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_06
(5)创建com.michael.jdbc包
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_EE_07
(6)新建Tester类
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_EE_08
(7) 加载数据库驱动(jar文件)
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_09
(8)获得数据库连接
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_10
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_JDBC_11
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_JDBC_12
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_13
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_14
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_15
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_16
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_JDBC_17
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_18
开启数据库连接
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_19
可以编辑数据
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_JDBC_20
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_21
设置加载驱动类
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_EE_22
设置数据库连接
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Java_23
(9)创建语句
查询数据测试
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_24
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_25
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_26
(10)执行查询
创建Statement
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_EE_27
执行Statement语句返回结果集
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_28
(11)遍历结果集
创建while循环
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_JDBC_29
(12)关闭数据库连接
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_MySql_30 
(13)设置主方法
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_EE_31
(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) 查询测试
Java EE WEB工程师培训-JDBC+Servlet+JSP整合开发之01.JDBC简介_Servlet_32
###############Michael分割线####################