1、JDBC本地驱动:
程序----------->JDBC----------->数据库
2、JDBC的操作过程:
(1)加载数据库的驱动程序
(2)连接数据库,连接的时候一般要输入用户名和密码
(3)操作数据库 ,创建表、查询表、更新表
(4)关闭数据库
3、数据库关闭顺序:
打开越早,关闭越晚。就像栈一样,先进后出
4、数据库操作有2种:
(1)更新操作:增、删、改
(2)查询操作:
5、ResultSet接口:
(1)ResultSet接口对象查询数据库时,返回的所有结果被ResultSet接收。
(2)通过ResultSet再取出里面的所有值
6、Statement与PreparedStatement的区别:
(1)使用Statement进行数据库操作时,必须执行一条完整的SQL语句
(2)PreparedStatement是Statement的子类,属于预处理操作
(3)PreparedStatement在操作数据库时,是在数据表中先准备一条SQL语句,里面的 内容暂时不设置,等用户需要的时候再设置;插入时,先占位,后设置内容
编写程序:
package org.a;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class JDBC {
//定义所要加载的数据库驱动包
public static final String DRIVER="org.gjt.mm.mysql.Driver";
//定义数据库的密码
public static final String PASSWORD="mysqladmin";
//定义数据库的用户名
public static final String USER="admin";
//定义数据库的URL值
public static final String URL="jdbc:mysql://localhost:3306/student";
public static void main(String[] args) {
//定义数据库连接对象
Connection con=null;
//定义数据库操作对象
PreparedStatement pst=null;
//定义数据库的操作集
ResultSet rset=null;
//操作数据库语句
String sql="select ?,?,? from person " ;
//加载数据库驱动
try{
Class.forName(DRIVER);
}catch(Exception e){
e.printStackTrace();
}
//获得数据库的连接对象
try{
con=DriverManager.getConnection(URL, USER, PASSWORD);
}catch(Exception e){
e.printStackTrace();
}
//执行数据库操作语句
try{
pst=con.prepareStatement(sql);
}catch(Exception e){
e.printStackTrace();
}
//向数据库中插入语句
try{
pst.setInt(1, 11);
pst.setString(2, "xiaosi");
pst.setInt(3, 90);
}catch(Exception e){
e.printStackTrace();
}
}
}