您的位置:首页 > 数据库

JDBC 实例--JDBC通过工具类DBUtil连接到数据库,让我们不再恐惧操作数据库

2014-12-17 21:07 956 查看
利用JDBC连接到数据库一般需要几个步骤:

1.装载驱动程序。

2.建立连接。

3.发送和执行SQL语句。

4.释放资源

首先建立一个数据库:

脚本如下:

create database csdn;
use csdn;
-- 创建用户表
CREATE TABLE USERS
(
ID INT(7) NOT NULL AUTO_INCREMENT,
NAME VARCHAR(50) ,
PWD VARCHAR(50),
PHONE VARCHAR(50) ,
PRIMARY KEY (id),
-- 登录用户名唯一约束
constraint name_unique unique(name)
);

-- 向数据库插入模拟数据
insert into Users (id, name, pwd, phone) values ( 1,'Tom', '123', '110');
insert into Users (id, name, pwd, phone) values (2,'Jerry', 'abc', '119');
insert into Users (id, name, pwd, phone) values ( 3,'Andy', '456', '112');

select * from users;


java连接代码如下:

新建一个项目并导入需要的jar包,完整代码如下:



package com.daliu.jdbc;

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

/**
* 测试使用JDBC连接mysql数据库
*
* @author Administrator
*/
public class DBUtil {

public static void main(String[] args) {

Connection conn = null;
Statement stmt = null;
ResultSet rs = null;

/*
* 1.装载驱动程序。 当出现了: java.lang.ClassNotFoundException:
* oracle.jdbc.driver.OracleDriver
*
* 这个异常时,说明数据库的驱动jar包没有 导入到项目中。 若导入了jar包还报这个错误,大部分原因是 书写的驱动有错误
*/

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

/*
* 2.建立连接。
*
* 通过调用DriverManager的getConnection方法,获取Connection类的对象,建立连接。
*/
String URL = "jdbc:mysql://localhost:3306/csdn";

conn = DriverManager.getConnection(URL, "root", "123456");

// 测试一下是否连接成功
System.out.println(conn);

/*
* 3.通过Connection的createStatement()方法获取数据库操作对象Statement。
* 通过调用Statement对象的executeQuery方法来执行SQL语句。
*/
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM csdn.users");

/*
* 4.
* Statement的executeQuery方法的返回值为ResultSet对象。ResultSet表示数据库查询操作的结果集。
* 它具有指向其当前数据行的光标。最初,光标被置于第一行之前,调用其next 方法将光标移动到下一行,该方法在 ResultSet
* 对象没有下一行时返回 false,因此可以在 while 循环中使用它来迭代结果集。
*/
while (rs.next()) {
System.out.println(rs.getInt("ID") + ","
+ rs.getString("NAME") + ","
+ rs.getString("PWD") + ","
+ rs.getString("PHONE"));
}

/*
* ResultSet提供了getXXX(String column)方法,例如:getInt(String
* column)等,获取当前ResultSet 对象的当前行中指定列名的值,其中参数column表示数据库表中的列名字。
*/
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("驱动类无法找到!");
throw new RuntimeException(e);

} catch (SQLException e) {
e.printStackTrace();
System.out.println("数据库访问异常!");
throw new RuntimeException(e);
} finally {

/*
*5. 在finally块中,依次关闭ResultSet对象、Statement对象以及Connection对象。
*/
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
System.out.println("关闭连接时发生异常");
}

}

}

}


效果如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: