DriverManager
- 注册驱动,用于管理一组JDBC驱动程序的基本服务。
- 在代码中常用下列格式来注册驱动
Class.forName(“com.mysql.jdbc.Driver”);
注意:mysql5之后可以不用手动注册驱动
mysql5后,在jar包中,存在一个java.sql.Driver配置文件,文件中指定了com.mysql.jdbc.Driver
Connection
+通过DriverManager.getConnection(url,user,password)数据库连接对象
- 获取执行者对象
- 获取普通执行者对象:Statement createStatement();
- 获取预编译执行者对象:PreparedStatement prepareStatement(String sql);
- 管理事务
- 开启事务:setAutoCommit(boolean autoCommit); 参数为false,则开启事务。
- 提交事务:commit();
- 回滚事务:rollback();
- 释放资源
- void close();
Statement
Statement:执行sql语句的对象
- 执行DML语句:int executeUpdate(String sql);
- 返回值int:返回影响的行数。
- 参数sql:可以执行insert、update、delete语句。
- 执行DQL语句:ResultSet executeQuery(String sql);
- 返回值ResultSet:封装查询的结果。
- 参数sql:可以执行select语句。
- 释放资源
- void close();
ResultSet
ResultSet:结果集对象
- 判断结果集中是否还有数据:boolean next();
- 有数据返回true,并将索引向下移动一行
- 没有数据返回false
- 获取结果集中的数据:XXX getXxx(“列名”);
- XXX代表数据类型(要获取某列数据,这一列的数据类型)
- 例如:String getString(“name”); int getInt(“age”);
- 释放资源
- void close();
示例代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcDemo1 {
public static void main(String[] args) throws Exception{
//1.导入jar包
//在模块中建立libs文件夹,导入jar包
//2.注册驱动
//mysql5之后可以不用手动注册驱动
Class.forName("com.mysql.jdbc.Driver");
//3.获取数据库连接对象
//static Connection getConnection(String url, String user, String password);
//该方法返回一个Connection数据库连接对象
Connection con = DriverManager.getConnection("jdbc:mysql://192.168.23.129:3306/db_stu_cour","root","root1999");
//4.获取执行者对象
//此处Statement createStatement();为获取普通的执行者对象
Statement stat = con.createStatement();
//5.通过执行者对象执行sql语句
//sql语句
String sql = "SELECT * FROM student";
//通过执行者调用查询方法,即DML语句,executeUpdate(String sql)
// 或增删改方法,即DQL语句,executeQuery(String sql)
ResultSet rs = stat.executeQuery(sql);
//6.从ResultSet对象中提取结果
//XXX getXxx("列名");
//String getString("name");
// int getInt("age");
while(rs.next()){
//String s = rs.getString();
System.out.println(rs.getInt("Sno") + "\t" + rs.getString("Sname") + "\t"
+ rs.getString("Ssex") + "\t" + rs.getInt("Sage") + "\t"
+ rs.getString("Sdept")
);
}
//7.调用close()释放资源
con.close();
stat.close();
rs.close();
}
}