参考:
http://www.cnblogs.com/wuyuegb2312/p/3872607.html
1. 什么是JDBC
Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。
JDBC也是Sun Microsystems的商标。它JDBC是面向关系型数据库的。
简单地说,就是用于执行SQL语句的一类Java API,通过JDBC使得我们可以直接使用Java编程来对关系数据库进行操作。通过封装,可以使开发人员使用纯Java API完成SQL的执行。
JDBC技术主要完成以下三个任务:
1. 与数据库建立一个连接;
2. 向数据库发送SQL语句;
3. 处理从数据库返回的结果。
2. MySQL数据库配置
2.1 ubuntu下的MySQL安装
ld@ubuntu:~$ sudo apt-get install mysql-server
2.2 Connector/J
下载Connector/J地址:http://www.mysql.com/downloads/connector/j/
解压后得到jar库文件,需要在工程中导入该库文件。
在workspace下工程文件中新建libs文件夹,将mysql-connector-java-5.1.40-bin.jar文件复制到文件下。
在eclipse中reflash,导入到库中。
2.3 需要import的包
import java.sql.*;
也可以如下:
//如果对MySQL进行操作,这时下面的import就不会报错了:
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
//除此以外,还需要JDBC的包,直接import即可。
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
3. JDBC基本操作:连接MySQL,增删改查
详见参考博客:http://www.cnblogs.com/wuyuegb2312/p/3872607.html
3.1 connect
public Connection getConnection(){
try{
//加载对应驱动
String Driver="com.mysql.jdbc.Driver";
Class.forName(Driver);
//System.out.println("driver done!");
//连接数据库,URL,USER,PASSWORD.
String url="jdbc:mysql://localhost:3306/ld"; //ld为数据库名称
String user="root";
String password="liudongwho";
con=DriverManager.getConnection(url, user, password);
//System.out.println("connected");
}catch(SQLException e){
e.printStackTrace();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
return con;
}
3.2 insert
public void insert(){
String sql="insert into students values(1,'liudong',25)";
PreparedStatement pstmt;
try{
pstmt=(PreparedStatement)con.prepareStatement(sql);
pstmt.executeUpdate();
pstmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
3.3 delete, update,和insert相同,只需要修改sql语句即可
4. 分析JDBC中常用的类和接口
在上述对数据库进行增删改查的过程中,可以发现其共性部分,即通用的流程:
(1)创建Connection对象、SQL查询命令字符串;
(2)对Connection对象传入SQL查询命令,获得PreparedStatement对象;
(3)对PreparedStatement对象执行executeUpdate()或executeQurey()获得结果;
(4)先后关闭PreparedStatement对象和Connection对象。
可见,使用JDBC时,最常打交道的是Connection、PreparedStatement这两个类,以及select中的ResultSet类。查阅Java API手册可以了解其具体的意义和方法。
下面引用的Java API的资料出自http://download.oracle.com/technetwork/java/javase/6/docs/zh/api/index.html。
4.1 Connection
java.sql
接口 Connection
所有超级接口:Wrapper
public interface Connection extends Wrapper
与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果。
Connection 对象的数据库能够提供描述其表、所支持的 SQL 语法、存储过程、此连接功能等等的信息。此信息是使用 getMetaData 方法获得的。
4.2 PreparedStatemnt
java.sql
接口 PreparedStatement
所有超级接口:Statement, Wrapper
所有已知子接口:CallableStatement
public interface PreparedStatementextends Statement
表示预编译的 SQL 语句的对象。
SQL 语句被预编译并存储在 PreparedStatement 对象中。然后可以使用此对象多次高效地执行该语句。
常用方法
boolean execute()
在此 PreparedStatement 对象中执行 SQL 语句,该语句可以是任何种类的 SQL 语句。
ResultSet executeQuery()
在此 PreparedStatement 对象中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。
int executeUpdate()
在此 PreparedStatement 对象中执行 SQL 语句,该语句必须是一个 SQL 数据操作语言(Data Manipulation Language,DML)语句,比如 INSERT、UPDATE 或 DELETE 语句;或者是无返回内容的 SQL 语句,比如 DDL 语句。
4.3 ResultSet
java.sql
接口 ResultSet
所有超级接口:Wrapper
所有已知子接口:CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, RowSet, SyncResolver, WebRowSet
public interface ResultSetextends Wrapper
表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。
344

被折叠的 条评论
为什么被折叠?



