JDBC基础编程
2016-08-12 21:49
465 查看
今天学习JDBC的基础编程,主要是弄清楚JDBC的基础内容,以及如何用Java操作mysql
JDBC(Java Data Base Connectivity)是一种Java为了和数据库连接而提供的支持sql的接口,说白了就是Java中可以和数据库连接并且操作数据库的API,
这样就可以在Java中使用sql语句,实现数据库的增删改查。
1.Java中实现JDBC的抽象接口
JDBC通过Java中接口实现了三个基本功能:建立数据库连接、执行sql语句和执行处理结果,现在介绍Java中sql包中的抽象接口
Java.sql.DriverManager:管理驱动器,支持驱动程序和数据库连接的创建。
java.sql.Connection:代表与某一数据库的连接。
java.sql.Statement:在连接中执行静态sql声明并且取得结果
java.sql.ResultSet:代表sql执行后的结果集。
2.JDBC编程
创建一个连接数据库的程序需要以下几步:
(1)加载JDBC驱动程序:
在连接数据库之前要先加载JDBC的驱动程序,可以通过Class.forName("com.mysql.jdbc.Driver")来加载:
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类,加载驱动失败");
e.printStackTrace();
}
(2)提供JDBC连接的URL,用户名以及密码
URL书写形式:协议:子协议:数据源标识
以mysql为例:jdbc:mysql://localhost:3306/Students
(3)创建数据库连接
要连接数据库就要java.sql.DriverManager请求并获得Connection对象,该对象代表一个数据库连接
使用DriverManager(String URL,String name,String password)连接,以mysql为例:
String URL = “jdbc:mysql://localhost:3306/students”;
String name = "root";
String pass = "root";
try{
Connection con =
DriverManager.getConnection(URL, name , pass ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
(4)创建一个Statement,要执行sql语句,必须获得java.sql.Statement的实例。有三种类型,一般选用下面这种:
Statement stmt = conn.creataStatement();
(5)执行sql语句,有三种方法:executeQuery(查询语句)、executeUpdate(增删改语句)、execute(两者都行),
同时返回一个ResultSet(结果集对象)
ResultSet rs = stmt.executeQuery(sql);
(6)处理结果,有两种情况,一种是将查询结果返回ResultSet结果集,一种是更新操作后返回的记录数。
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ;
}
(7)关闭JDBC对象,关闭连接对象释放JDBC资源,一般和创建顺序相反。
rs.close();
stmt.close();
conn.close();
完整的代码:
package JDBC;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;
public class JDBCTest {
//创建JDBC的驱动名和URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/students_information";
//创建database credentials
static final String USER = "root";
static final String PASS = "root";
public static void main(String[] args)
{
Connection conn = null;
Statement stmt = null;
try
{
//注册JDBC驱动程序
Class.forName(JDBC_DRIVER);
//打开一个连接
System.out.println("Connecting database.....");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//执行一个查询
System.out.println("Creating satement.....");
stmt = conn.createStatement();
String sql = "select Sno,Sname,Ssex,Sage from students";
ResultSet rs = stmt.executeQuery(sql);
//把数据从结果集中取出
while(rs.next())
{
//用列名检索
int Sno = rs.getInt("Sno");
int Sage = rs.getInt("Sage");
String Sname = rs.getString("Sname");
String Ssex = rs.getString("Ssex");
//显示值
System.out.print("Sno:"+Sno);
System.out.print(", Sname:"+Sname);
System.out.print(", Ssex:"+Ssex);
System.out.println(", Sage:"+Sage);
}
//关闭资源
rs.close();
stmt.close();
conn.close();
}
catch(SQLException se)
{
//JDBC异常
se.printStackTrace();
}
catch(Exception e)
{
//Class.forName异常
e.printStackTrace();
}
finally
{
try
{
if(stmt!=null)
stmt.close();
}
catch(SQLException se2)
{
try
{
if(conn!=null)
conn.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
}
}
}
}
JDBC(Java Data Base Connectivity)是一种Java为了和数据库连接而提供的支持sql的接口,说白了就是Java中可以和数据库连接并且操作数据库的API,
这样就可以在Java中使用sql语句,实现数据库的增删改查。
1.Java中实现JDBC的抽象接口
JDBC通过Java中接口实现了三个基本功能:建立数据库连接、执行sql语句和执行处理结果,现在介绍Java中sql包中的抽象接口
Java.sql.DriverManager:管理驱动器,支持驱动程序和数据库连接的创建。
java.sql.Connection:代表与某一数据库的连接。
java.sql.Statement:在连接中执行静态sql声明并且取得结果
java.sql.ResultSet:代表sql执行后的结果集。
2.JDBC编程
创建一个连接数据库的程序需要以下几步:
(1)加载JDBC驱动程序:
在连接数据库之前要先加载JDBC的驱动程序,可以通过Class.forName("com.mysql.jdbc.Driver")来加载:
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类,加载驱动失败");
e.printStackTrace();
}
(2)提供JDBC连接的URL,用户名以及密码
URL书写形式:协议:子协议:数据源标识
以mysql为例:jdbc:mysql://localhost:3306/Students
(3)创建数据库连接
要连接数据库就要java.sql.DriverManager请求并获得Connection对象,该对象代表一个数据库连接
使用DriverManager(String URL,String name,String password)连接,以mysql为例:
String URL = “jdbc:mysql://localhost:3306/students”;
String name = "root";
String pass = "root";
try{
Connection con =
DriverManager.getConnection(URL, name , pass ) ;
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
(4)创建一个Statement,要执行sql语句,必须获得java.sql.Statement的实例。有三种类型,一般选用下面这种:
Statement stmt = conn.creataStatement();
(5)执行sql语句,有三种方法:executeQuery(查询语句)、executeUpdate(增删改语句)、execute(两者都行),
同时返回一个ResultSet(结果集对象)
ResultSet rs = stmt.executeQuery(sql);
(6)处理结果,有两种情况,一种是将查询结果返回ResultSet结果集,一种是更新操作后返回的记录数。
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ;
}
(7)关闭JDBC对象,关闭连接对象释放JDBC资源,一般和创建顺序相反。
rs.close();
stmt.close();
conn.close();
完整的代码:
package JDBC;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.*;
public class JDBCTest {
//创建JDBC的驱动名和URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/students_information";
//创建database credentials
static final String USER = "root";
static final String PASS = "root";
public static void main(String[] args)
{
Connection conn = null;
Statement stmt = null;
try
{
//注册JDBC驱动程序
Class.forName(JDBC_DRIVER);
//打开一个连接
System.out.println("Connecting database.....");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//执行一个查询
System.out.println("Creating satement.....");
stmt = conn.createStatement();
String sql = "select Sno,Sname,Ssex,Sage from students";
ResultSet rs = stmt.executeQuery(sql);
//把数据从结果集中取出
while(rs.next())
{
//用列名检索
int Sno = rs.getInt("Sno");
int Sage = rs.getInt("Sage");
String Sname = rs.getString("Sname");
String Ssex = rs.getString("Ssex");
//显示值
System.out.print("Sno:"+Sno);
System.out.print(", Sname:"+Sname);
System.out.print(", Ssex:"+Ssex);
System.out.println(", Sage:"+Sage);
}
//关闭资源
rs.close();
stmt.close();
conn.close();
}
catch(SQLException se)
{
//JDBC异常
se.printStackTrace();
}
catch(Exception e)
{
//Class.forName异常
e.printStackTrace();
}
finally
{
try
{
if(stmt!=null)
stmt.close();
}
catch(SQLException se2)
{
try
{
if(conn!=null)
conn.close();
}
catch(SQLException se)
{
se.printStackTrace();
}
}
}
}
}
相关文章推荐
- JDBC 入门-Java基础-Java-编程开发
- [零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之二 推荐
- JDBC与DAO篇--01 JDBC原理、JDBC基础编程
- JDBC编程基础 第一部分
- java基础之JDBC编程(mysql)
- JDBC基础编程、核心API
- JDBC编程基础 第一部分
- JAVA基础知识之JDBC——编程步骤及执行SQL
- java学习--数据库编程(JDBC基础概念)
- jdbc基础编程和常用API
- JDBC编程基础
- [零基础学JAVA]Java SE应用部分-33.Java数据库编程(JDBC)之一 推荐
- MySQL数据库与JDBC编程基础
- JDBC原理,JDBC基础编程
- JDBC原理 、JDBC基础编程
- JDBC编程基础
- Java Web基础整理-JDBC编程
- Unit01: JDBC原理 、 JDBC基础编程
- JDBC编程基础 第二部分
- JDBC基础学习笔记_02JDBC编程的mysql数据准备并编写程序