JDBC访问数据库的步骤
加载驱动
Class.forName("com.mysql.jdbc.Driver");
连接数据库
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"+
"useUnicode=true&characterEncoding=UTF8","admin","admin");
执行T-SQL语句
创建T-SQL命令
String QuerySql="SELECT * FROM user";//创建T-SQL查询命令;
String DeleteSql="DELETE FROM user";//创建T-SQL删除命令;
创建Statement对象
Statement stmt=conn.createStatement();//创建Statement对象
执行T-SQL命令
ResultSet Qrs=stmt.executeQuery(QuerySql);//执行查询命令;
ResultSet Drs=stmt.executeUpdate(DeleteSql);//执行增、删、改命令
处理结果
处理查询执行的结果
while(rs.next()){
System.out.println("用户名:"+rs.getString("UserName")+
"年龄:"+rs.getString("UserAge"));
};
处理增、删、改的执行结果
String Result = count > 0 ? "删除成功": "删除失败" ;//处理增、删、改结果;
System.out.println(Result);
关闭资源
需要按照顺序执行,先执行5.1和5.2然后执行5.3,先关里面的,最后关最外面的
关闭记录集
>if(rs !=null){//关闭记录集
try{
rs.close();
} catch (SQLException e){
e.printStackTrace();
}
}
关闭声明的对象
if(stmt !=null){//关闭声明的对象
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
关闭连接
if(conn !=null){//关闭连接
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
示例代码块
package jdbc;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
//以上是需要导入的对应包,本示例已连接操作MySQL数据库为例。
import java.sql.SQLException;
import java.sql.Statement;
public class jdbc { //定义一个类
public static void main(String[] args){ //主方法
try{
/*1.加载驱动:
定义驱动程序名driver内容为com.mysql.jdbc.Driver
*/
Class.forName("com.mysql.jdbc.Driver");
/*
2.连接数据库
使用Connection conn=DriverManager.getConnection(String Url,String UserName,String PassWord);
参数说明:
Url:你所要连接使用的协议,和连接地址
jdbc:协议类型;
mysql是子协议:表示数据库系统管理名称;
localhost:3306是你数据库来源的地址和目标端口;
test是数据库的名称,表示你所要连接的数据库,以你要连接的数据库名为标准;
useUnicode=true表示使用Unicode字符(用于防止乱码可不加);
characterEncoding=UTF8表示使用UTF-8来编辑(用于防止乱码可不加);
UserName:你所连接的数据库用户;
PassWord:你所连接的数据库用户密码;
*/
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"+
"useUnicode=true&characterEncoding=UTF8","admin","admin");
/*
3.执行T-SQL语句
3.1创建T-SQL命令;
3.2创建Statement对象
3.3执行T-SQL命令
*/
String QuerySql="SELECT * FROM user";//创建T-SQL查询命令;
String DeleteSql="DELETE FROM user";//创建T-SQL删除命令;
Statement stmt=conn.createStatement();//创建Statement对象
ResultSet rs=stmt.executeQuery(QuerySql);//执行查询命令;executeQuery(String Sql);
int count =stmt.executeUpdate(DeleteSql);//执行增、删、改命令executeUpdate(String Sql);
/*
4.处理结果
4.1 处理查询执行结果 ;
4.2 处理增、删、改结果;
*/
while(rs.next()){
System.out.println("用户名:"+rs.getString("UserName")+"年龄:"+rs.getString("UserAge"));
}// 处理查询执行结果 ;
String Result = count > 0 ? "删除成功": "删除失败" ;//处理增、删、改结果;
System.out.println(Result);
/*
5.关闭资源
5.1 关闭记录集
5.2 关闭声明的对象
5.3 关闭连接
先执行5.1和5.2然后执行5.3,先关里面的,最后关最外面的
*/
if(rs !=null){//关闭记录集
try{
rs.close();
} catch (SQLException e){
e.printStackTrace();
}
}
if(stmt !=null){//关闭声明的对象
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
if(conn !=null){//关闭连接
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}