jdbc快速入门程序的细节问题

1.注册数据库驱动

Class.forName("com.mysql.jdbc.Driver");

所谓的注册驱动,就是让JDBC程序加载mysql驱动程序,并管理驱动
驱动程序实现了JDBC API定义的接口以及和数据库服务器交互的功能,加载驱动是为了方便使用这些功能。

2、获取连接之数据库URL

Connection conn = DriverManager.getConnection( 
    "jdbc:mysql://localhost:3306/jt_db?characterEncoding=utf-8",
    "root", "root"
)

DriverManager.getConnection() 用于获取数据连接, 返回的Connection连接对象是JDBC程序连接数据库至关重要的一个对象。
参数2和参数3分别是所连接数据库的用户名和密码。
参数1:“jdbc:mysql://localhost:3306/jt_db” 是连接数据库的URL,用于指定访问哪一个位置上的数据库服务器及服务器中的哪一个数据库,其写法为:

写法

3、Statement传输器对象

Statement stat = conn.createStatement();

该方法返回用于向数据库服务器发送sql语句的Statement传输器对象,该对象上提供了发送sql的方法:

executeQuery(String sql) -- 用于向数据库发送查询类型的sql语句,返回一个ResultSet对象中
executeUpdate(String sql) -- 用于向数据库发送更新(增加、删除、修改)类型的sql语句,返回一个int值,表示影响的记录行数

4、ResultSet结果集对象
ResultSet对象用于封装sql语句查询的结果,也是一个非常重要的对象。该对象上提供了遍历数据及获取数据的方法。
(1)遍历数据行的方法
next() – 使指向数据行的箭头向下移动一行,如果返回true则表示箭头指向的行有数据(记录),如果返回false,则表示箭头指向的行没有数据(记录)
(2)获取数据的方法

getInt(int columnIndex)

getInt(String columnLable)

getString(int columnIndex)

getString(String columnLable)

getDouble(int columnIndex)

getDouble(String columnLable)

getObject(int columnIndex)

getObject(String columnLable)

...

getObject(int columnIndex)

getObject(String columnLable)
5、释放资源

rs.close();

stat.close();

conn.close();

此处释放资源必须按照一定的顺序释放,越晚获取的越先关闭。所以先关闭 rs对象,再关闭stat对象,最后关闭conn对象。
另,为了避免上面的程序抛出异常,释放资源的代码不会执行,应该把释放资源的代码放在finally块中.

try{

    ...

}catch(Exception e){

    ...

}finally{

    if (rs != null) {

        try {

            rs.close();

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            rs = null;

        }

    }

    if (stat != null) {

        try {

            stat.close();

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            stat = null;

        }

    }

    if (conn != null) {

        try {

            conn.close();

        } catch (SQLException e) {

            e.printStackTrace();

        } finally {

            conn = null;

        }

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值