java基础-jdbc连接

最基本连接mysql数据库。

	Connection conn = null;
    Statement stat = null;
    ResultSet rs = null;
    try {
        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获取连接
        conn = DriverManager.getConnection("jdbc:mysql://172.12.12.12:3306/test?user=root&password=root");
        //3.获取传输器
        stat = conn.createStatement();
        //4.利用传输器,发送sql,返回结果
        String sql = "insert into account value(null,'张飞',888)";
        int rows = stat.executeUpdate(sql);
        //5.处理结果
        System.out.println("影响了"+rows+"行");
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException();
    }finally{
        //6.释放资源
        if(rs!=null){
            try {
                rs.close();
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                rs = null;
            }
        }
        if(stat!=null){
            try {
                stat.close();
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                stat = null;
            }
        }
        if(conn!=null){
            try {
                conn.close();
            } catch (Exception e) {
                e.printStackTrace();
            }finally{
                conn = null;
            }
        }
    }
  1. 注册数据库驱动
    使用DriverManager.registerDriver(new Driver());注册数据库有两个缺点,首先,通过观察mysql的中Driver接口的实现类发现在静态代码块中注册驱动的逻辑,所以这种方式会造成驱动被注册两次。另外,这种方式导致了程序和具体的数据库驱动绑死在了一起,程序的灵活性比较低。
    所以推荐使用:Class.forName(“com.mysql.jdbc.Driver”);的方式注册数据库驱动。

  2. 获取数据库连接
    Connection conn = DriverManager.getConnection(url,name,psw);

  3. 数据库URL
    URL用于标识数据库的位置,程序员通过URL地址告诉JDBC程序连接哪个数据库,URL的写法为: jdbc:mysql://localhost:3306/test?参数名=参数值 (test->数据库名)

  4. Connection
    Jdbc程序中的Connection,它用于代表数据库的链接,Connection是数据库编程中最重要的一个对象,客户端与数据库所有交互都是通过connection对象完成的,这个对象的常用方法:

    createStatement():创建向数据库发送sql的statement对象。
    prepareStatement(sql):创建向数据库发送预编译sql的PreparedSatement对象。
    prepareCall(sql):创建执行存储过程的callableStatement对象。
    setAutoCommit(boolean autoCommit):设置事务是否自动提交。
    commit():在链接上提交事务。
    rollback():在此链接上回滚事务。

  5. Statement(防止注入式攻击,PreparedSatement)
    Jdbc程序中的Statement对象用于向数据库发送SQL语句, Statement对象常用方法:

    executeQuery(String sql) :用于向数据库发送查询语句。
    executeUpdate(String sql):用于向数据库发送insert、update或delete语句
    execute(String sql):用于向数据库发送任意sql语句
    addBatch(String sql):把多条sql语句放到一个批处理中。
    executeBatch():向数据库发送一批sql语句执行。

  6. ResultSet
    Jdbc程序中的ResultSet用于代表Sql语句的执行结果。Resultset封装执行结果时,采用的类似于表格的方式。ResultSet 对象维护了一个指向表格数据行的游标,初始的时候,游标在第一行之前,调用ResultSet.next() 方法,可以使游标指向具体的数据行,进行调用方法获取该行的数据。
    ResultSet既然用于封装执行结果的,所以该对象提供的都是用于获取数据的get方法:

    获取任意类型的数据
    getObject(int index)
    getObject(string columnName)
    获取指定类型的数据,例如:
    getString(int index)
    getString(String columnName)
    getInt(columnIndex)
    getInt(columnLabel)
    getDouble(columnIndex)
    getDouble(columnLabel)

    操作游标的方法,例如:
    next():移动到下一行
    Previous():移动到前一行
    absolute(int row):移动到指定行
    beforeFirst():移动resultSet的最前面。
    afterLast() :移动到resultSet的最后面。

  7. 释放资源
    Jdbc程序运行完后,切记要释放程序在运行过程中,创建的那些与数据库进行交互的对象,这些对象通常是ResultSet, Statement和Connection对象。
    特别是Connection对象,它是非常稀有的资源,用完后必须马上释放,如果Connection不能及时、正确的关闭,极易导致系统宕机。Connection的使用原则是尽量晚创建,尽量早的释放。
    为确保资源释放代码能运行,资源释放代码也一定要放在finally语句中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值