JDBC编程的6步骤
实现数据库连接之前,我们要先理解一下URL(统一资源定位器):
是跟数据库进行连接的时候,用来连接到指定远程数据库标识符。 可以在该URL中指定连接用户名和密码,同时,对于不同的数据库有不同的标识。
URL 统一资源定位符
URL包括:协议、IP、port端口、资源名
URL示例:jdbc:mysql://127.0.0.1:3306/mysql
jdbc:mysql://通信协议
127.0.0.1:IP地址
3306:MySQL数据库的端口号
mysql:具体的数据库实例名
实现JDBC连接数据库具体可以分为六步完成:
- - a.导入驱动,加载具体的驱动类(告诉Java程序,要连接的是哪一个数据库: MySQL、Oracle、sqlserver……)
- - b.与数据库建立连接(指定远程数据库标识符、具体的数据库名以及数据库登录密码)
- - c.获取数据库操作对象(Statement专门执行sql语句的)
- - d.发送SQL命令,执行SQL语句
- - e.处理结果集(查询)
- - f.释放资源。(遵循从小到大依次关闭,分别对其try……catch)
1、JDBC 连接数据库的实现代码如下所示:(详细步骤)
import java.sql.*;
/*JDBC编程六步*/
public class JDBCtest {
public static void main(String[] args) {
Connection conn = null;
Statement statement =null;
try {
//1、注册驱动
Driver driver = new com.mysql.jdbc.Driver();//多态,告诉Java程序连接的是MySQL数据库
DriverManager.registerDriver(driver);
//2、获取连接
/* 说明:localhost和127.0.0.1都是本机的IP地址,写哪一个都可以。*/
String url = "jdbc:mysql://127.0.0.1:3306/sql";
String user = "user";//数据库名
String password = "*******";//登录数据库密码
conn = DriverManager.getConnection(url,user,password);
System.out.println("连接成功"+conn);//可以判断数据库是否连接成功
//3、获取数据库操作对象(Statement专门执行sql语句的)
statement = conn.createStatement();
//4、执行sql
String sql = "insert into xs values('new','008',79,23)";
//下面这条代码是专门执行DML语句的(`INSERT` , `UPDATE` ,或`DELETE`语句)
//返回值是“影响数据库表中的记录条数”,成功插入一条返回1,插入二条返回2
int count = statement.executeUpdate(sql);//如果数据插入成功,则返回1
System.out.println(count==1 ? "添加成功":"添加失败");
//5、处理查询结果集
//这里是插入语句,所以就不要处理查询结果。
} catch (SQLException e) {
e.printStackTrace();
}finally {
//6、释放资源
//为了保证资源一定释放,在finally语句中关闭资源
//并且遵循从小到大一次关闭
//分别对其try……catch
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
2、上述代码中所用到的方法解释:
- public static Connection getConnection(String url, String user, String password) throws SQLException
尝试建立与给定数据库URL的连接。
DriverManager
尝试从已注册的JDBC驱动程序集中选择适当的驱动程序。- Statement createStatement() throws SQLException
创建一个
Statement
对象,用于将SQL语句发送到数据库。- default long executeLargeUpdate(String sql) throws SQLException
执行给定的SQL语句,这可能是
INSERT
,UPDATE
,或DELETE
语句,或者不返回任何内容,如SQL DDL语句的SQL语句。
3、使用jdbc对数据库执行删除与更新
import java.sql.*;
//jdbc完成update和delete:
public class JDBCtest {
public static void main(String[] args) {
Connection conn = null;
Statement statement = null;
try {
//1、注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//2、获取连接
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/sqlserver","user","*****");
System.out.println("连接成功:"+conn);
//3、获取数据库操作对象
statement = conn.createStatement();
//4、执行sql语句
String sql = "delete from xs where no='007'";//删除操作
//String sql = "update xs set name='老六' where no='04'";//更新操作
int count = statement.executeUpdate(sql);
System.out.println(count==1?"删除成功":"删除失败");
}catch(SQLException e){
e.printStackTrace();
}finally {
//6、释放资源
try{
if (statement!=null){
statement.close();
}
}catch(SQLException e){
e.printStackTrace();
}
try{
if (conn!=null){
conn.close();
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
}