jdbc基础

本文介绍了Java数据库连接(JDBC)的基本概念及开发步骤,包括如何通过JDBC进行数据库连接、执行SQL语句等关键操作。

一:jdbc全称:java数据库连接,是为了解决操作不同数据库需要使用不同的数据库驱动的问题,jdbc提供了一套接口为应用程序提供统一的接口,它由两个包组成,java.sql,javax.sql。还需要相对应的数据库驱动。

二:jdbc开发一般步骤

1:导入数据库驱动mysql-connector-java-5.0.8-bin.jar,并且添加到编译路径中

2:数据库驱动加载DriverManager.regesterDriver(new com.mysql.jdbc.Driver());

3:获取数据库的连接Connection con = DriverManager.getConnection(url,name,password);

4:创建用于与数据库发送sql语句的statement对象,Statement st = con.createStatement();

5:定义代表执行结果的对象resultset,ResultSet rs = st.executeQuery(sql);

6:释放所有资源,以上三个对象,释放资源的代码必须放在finally中。

注意:在导包的过程中,由于在mysql.jdbc中和java.sql中都有这些Connection,Statment,ResultSet的定义,这些必须导入java.sql中的,因为java.sql中的是接口的定义,然后使其指向mysql中的实现。

三:一般不使用DriverManager注册,而是使用Class.forName(路径)加载数据库驱动,因为前者会导致driver对象在内存中两个。

四:数据库url写法

jdbc:mysql://localhost:3306/test?参数名:参数值

五:Connection对象,可以创建向数据库发送sql的statment对象,也可以发送预编译的sql,prepareStatement(sql),

六:类型转换表

image

七:为了确保一些重要代码执行,比如在上面创建的connection对象的释放,需要放在try catch 的finally中,但是如果try中有system.out(1)使得虚拟机退出,就不会执行。

八:程序异常的处理思路,如果上层程序不能处理这个异常,就抛运行时异常,如果开发人员想把异常当成一个返回的话,就抛编译时异常。如果用try catch包围,而且不抛给java虚拟机,则java虚拟机会继续执行下面的代码。

九:因为sql的连接是非常稀有的,所以必须用完就释放,正确的释放方式是

ResultSet rs,

Statement st,

Connection cn

if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

if(st!=null){
            try {
                st.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
if(cn!=null){
            try {
                cn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值