JDBC连接数据库

一、什么是JDBC

    JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。(转自百度百科

JDBC的主要功能是:

①. 建立与数据库或者其他数据源的连接;

②. 向数据库发送SQL指令;

③. 处理数据库的返回结果。

    二、JDBC连接数据库的步骤

    1、加载驱动

    Driver接口装载驱动。

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

    Class.forName("oracle.jdbc.driver.OracleDriver");

    2、建立连接

    Connection接口与数据库建立连接(会话)

        常用方法:  

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

    DriverManager驱动程序管理类,作用于用户和驱动程序之间。跟踪在可用的驱动程序,并在数据库与相应驱动程序之间建立连接。

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", Username, PassWord);

Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database", Username, PassWord);

    3、获取语句对象

    三种Statement接口:

    Statement、PreparedStatement、CallableStatement。

    链接:http://blog.csdn.net/HeyFrank/article/details/79372386

Statement stmt = conn.createStatement(); 
PreparedStatement pstmt = conn.preparedStatement(sql)
CallableStatement cstmt = conn.prepareCall(“{call ...}”);

    4、执行SQL指令返回结果集

    ①. 执行查询语句

 ResultSet rs = stmt.executeQuery(sql);
 ResultSet rs = pstmt.executeQuery();

    ②. 执行CUD操作

ResultSet rs = stmt.executeUpdate(sql);
ResultSet rs = pstmt.executeUpdate();

    5、释放资源

    由于数据库连接非常消耗资源,因此要尽量晚创建、早释放。

    并且需要加上try catch以防先关闭的出错。

try{
	if (rs != null) {
		rs.close();
	}
}catch(SQLException e){
	e.printStackTrace();
}finally{
	try {
		if (st != null) {
			st.close();
		}
	} catch (SQLException e) {
		e.printStackTrace();
	} finally {
		try {
			if (conn != null) {
				conn.close();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值