JAVA基础 之 JDBC

提示:阅读本文之前您至少具备:

1.sql基础知识

2.Java面向对象编程

3.异常的相关知识



JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API

学习JDBC必须知道的几个接口和类:

DriverManager:管理jdbc驱动的服务类(官网api解释)

Connection:代表每一次数据库连接

Statement:执行sql语句的工具接口

PreparedStatement:一个预编译的SQL Statement

ResultSet:结果集,通过sql查询后产生的一张数据表



本文只讲述这些基础的如何使用,除此之外还有很多相关的内容,例如:

ResultSetMetaData、DatabaseMetaData、RowSet、RowSetFactory

事务、分页、存储二进制文件、执行存储过程、连接池(c3p0)等等

在今后的文章讲述,请关注我博客其他的文章。



使用前准备:

下载你对应的数据库驱动包

mysql下载地址:http://www.mysql.com/downloads/connector/j/ (2013-02-26有效)

注意:这里会让你注册,但是仔细查找会发现下面有个 No thanks, just start my download. 点击这个就可以下载

压缩包内有一个mysql-connector-java-5.1.23-bin.jar文件,将它加入到你的bulid path中

Java代码

package com.cxy.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
* @author cxy
*/
public class JdbcTest
{
private static Connection con=null;
private static Statement stmt=null;
private static ResultSet rs=null;

public static void main(String[] args) throws Exception
{
try
{
/* jdbc编程可分为5步
* 第一步:加载驱动 将指定类加载到jvm中
* 第二步:创建数据库连接(Connection)
* 第三步:创建一个Statement
* 第四步:创建一个结果集(ResultSet)
* 第五步:关闭ResultSet、Statement、Connection
*
* 说明:
* 1.良好的编程习惯应该将第五步的关闭操作放到 finally去执行
* 2.java7后的新接口可以提供 自动关闭功能 见下文
* 3.真实项目中 数据库相关连接信息都应写到配置文件中(xml或者Properties文件中)
* 4.使用本例前请先建立对应的数据库:dbtest,然后运行建表语句( 或修改成任意自己的库和表)
*/
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest", "root", "root"); //三个参数分别是数据库连接、帐号、密码
stmt=con.createStatement();
//stmt.execute("CREATE TABLE t_student ( id_ varchar(32) not null,name_ varchar(32),sex varchar(32))");
//stmt.execute("insert into t_student values ('1','小明','男')");
//stmt.execute("insert into t_student values ('2','小白','女')");
//stmt.execute("delete from t_student");
stmt.executeQuery("select * from t_student");
rs=stmt.getResultSet();
System.out.println("id\t姓名\t 性别");
while(rs.next())
{
System.out.println(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3));
}
System.out.println("操作成功");
}catch (Exception e)
{
System.out.println("数据库操作出现异常");
}finally
{
if(rs!=null)
{
//5.关闭结果集
rs.close();
}
if(stmt!=null)
{
//6.关闭状态集
stmt.close();
}
if(con!=null)
{
//7.关闭数据库连接
con.close();
}
System.out.println("数据库各种资源已经关闭");
}
System.out.println("=====================================");

/* Ok 我们已经看到了 其实我们只想操作一下数据库而已!难道那些烦人的关闭操作 java就不能自动执行?
* java7开始这个梦想成真了!java7开始出现了一个AutoCloseable接口,并且大部分的需要关闭资源的类都实现了这个接口
* 下面我们就来写一个和上面类似的程序看看吧
* 注意:这个只能在安装了java7之后的版本才能使用
*/
try(
Connection con1=DriverManager.getConnection("jdbc:mysql://localhost/dbtest", "root", "root");
Statement stmt1=con1.createStatement();
ResultSet rs1=stmt1.executeQuery("select * from t_student");
)
{
System.out.println("id\t姓名\t 性别");
while(rs1.next())
{
System.out.println(rs1.getString(1)+"\t"+rs1.getString(2)+"\t"+rs1.getString(3));
}
}catch(SQLException e)
{
System.out.println("数据库操作出现异常");
}

/*
* ok 简单吗?神奇吗?这就是传说中的try-with-resource,不仅仅是jdbc可以这样用哦~
* 更多扩展阅读请看:http://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html
*/
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值