JDBC编程——JDBC连接数据库六步骤

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语句,这可能是INSERTUPDATE ,或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();
            }
        }
    }
}

  • 8
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-今非昔比°

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值