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