JDBC

JDBC概述

JDBC(Java  DataBase Connection)就是java数据库连接,用java语言来操作数据库

JDBC是接口,而JDBC驱动才是接口的实现,没有驱动无法与数据库进行连接

JDBC核心类(接口)介绍(四个)

DriverManager

作用:知道JDBC使用的是哪个驱动;

Connection

如果DriverManager可以获得到Connection,说明已经与数据库进行连接了

DriverManager.getConnection(url, username, password);

 Connection最为重要的一个方法是用来获取Statement对象

Statement

Statement是用来向数据库发送sql语句的,使数据库去执行发送过来的sql语句

executeUpdate();执行更新操作(insert, update, delete)

executeQuery();执行查询操作,执行查询后的结果就是ResultSet;

ResultSet

对象查询结果集,执行查询操作后都会有结果集的产生,结果集是一个二维的表格,有行有列 ,通过next()来决定每一行,

通过get类型(getString())来获取每一列的值,该列数是从1开始。

JDBC使用

①导入驱动Jar包:

在工程中新建folder→取名为libs→将mysql-connector-java-5.1.41-bin.jar拷贝到libs里→对该包进行右键→build path→

add to build path 

②加载驱动:

不同数据库注册驱动不同,mysql注册驱动:

static {
	try {
		// 注册驱动
		Class.forName("com.mysql.jdbc.Driver");
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}

③获取连接(这里的前提就是数据库,表,约束,已经创建好)

通过DriverManager来获得Connection对象

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/goodsdb", "root", "root");

注:获得本机数据库连接的端口数据库用户名密码

"jdbc:mysql://localhost:3306/goodsdb?useUnicode=true&characterEncoding=utf8"

注:有时候使用字节集unicode ,避出现乱码

④创建sql语句,并获得statement对象

String sql = "select * from goods";
PreparedStatement ps = conn.prepareStatement(sql);

注:这里使用PreparedStatement,而不是使用Statement。 

⑤执行语句,并处理结果集

ResultSet rs = ps.executeQuery();//执行查询操作
// 处理结果
while (rs.next()) {
	System.out.print(rs.getInt("id") + "\t");
	System.out.print(rs.getString("name") + "\t");
	System.out.print(rs.getDouble("price") + "\t");
	System.out.println();
}

⑥释放资源(使用后的东西,都需要关闭)

rs.close();
ps.close();
conn.close();

注:关闭的顺序是先得到的后关闭,后得到的先关闭。

你可能感兴趣的:(JavaOOP)