自学笔记:JDBC


JDBC

JDBC,Java DataBase Connectivity,全称数据库连接。是java用于连接数据库的标准API,为个习性数据库提供了一个同一的接口,然后不同的数据库公司实现该接口

数据库连接步骤

  1. 加载数据库驱动程序
  2. 建立连接对象
  3. 创建sql语句
  4. 执行sql语句并获得结果
  5. 关闭连接对象,释放资源。
public JDBCDemo{
    public static void main(String[] args){
        //1. 加载数据库驱动
        Class.forName("com.mysql.jdbc.Driver");
        //2.获得Connection连接对象
        Connection connection=DriverManager.getConnection("jdbc:mysql:///test01","root","root");
        //3.创建sql语句
        String sql="select * from perple";
        
        //4.执行sql语句并处理结果
        //获得sql语句对象
        Statement statement=connection.createStatement();
        //执行sql语句并拿到结果集
        ResultSet res= statement.executeQuery(sql);
        //处理结果集
        while(res.next()){
            System.out.println(res.getString("name"));
        }
        
        //5.关闭连接对象,释放资源
        res.close();
        statement.close();
        connection.close();
    }
}

JDBC类详解

DriverManager

是jdbc的管理层,管理一组jdbc驱动程序的基本服务。

建立数据库连接的方法是调用DriverManager的静态方法getConnection()。
public static Connection getConnection(String dburl)
public static Connection getConnection(String dburl,String user,String password)

dburl表示jdbc的url,user表示数据库用户名,password表示密码。

Connection

该类代表了与数据可的连接,是数据库编程最重要的一个对象。

常用的方法:
Statement createStatement():创建一个Statement对象。
PreparedStatemend prepareStatement(String sql):使用给定sql语句,创建一个预编译语句对象。
void setAutoCommit(boolean b):通过该连接对象对数据库的更新是否自动提交,默认为true。
boolean getAutoCommit():返回当前连接是否是自动提交模式。
void commit():手动对数据进行更新操作。
void roolback():对数据库的操作进行回滚。

语句对象

Statement

Statement:用于执行sql语句。
ResultSet executeQuery(String sql):执行sql语句并反正结果集对象
int executeUpdate(String sql):执行sql语句,返回更新行数
Connection getConnection():返回产生该对象的连接对象
void close():释放Statement占用的数据库和jdbc资源。

PreparedStatement

继承于Statement。

Statement和PreparedStatement比较
  • PreparedStatement可以避免SQL注入问题。
  • PreparedStatement是预编译的,SQL语句被预编译该对象中,频繁的查询数据库效率更高。

ResultSet

表示sql查询语句得到的记录集合。每个结果集都有一个游标,新产生的ResultSet对象,游标都指向第一条记录的前面。
boolean next():如果下面还有记录,返回true,游标下移一行;如果没有记录就返回false。
String getString(int colunmIndex):返回指定列的值。从1开始。
String getString(String columnName):返回指定列名的值。
int getRow():返回游标当前行号。

MySql数据库类型于Java类型的转换

JDBC事务

指一个操作由具体的几个步骤实现。由Connection对象控制,如果这个操作被事务管理,则这几个具体步骤要么都成功,要么都失败。

Connection对象控制方法:
setAutoCommit(booelan b):为false,则关闭自动事务,改为手动。
commit():提交事务。
rollback():回滚事务。

数据库连接池

*为何需要连接池:*当需要频繁的查找数据库的时候,就要不停的创建连接对象,但是短暂的使用之后又关闭释放资源,然后再创建……由于创建对象会浪费大量资源,因此用到了数据库连接池。
数据库连接池就是一个存放连接对象的容器,当需要查询数据库时,便从数据库中拿出一个连接对象使用,使用完毕之后再将容器归还刚在池。

常用的数据库连接池:C3p0,Druid等。

标准接口:DataSource。 javax.sql包下的。

获取连接:getConnection()
归还连接:Connection.close()。如果连接对象是从连接池中获取的,拿close()方法不会关闭连接,而是归还连接到连接池。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值