- JDBC概念:
JDBC:Java Database Connectivity ——Java数据库连接。
JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun
Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。(百度百科)
- 背景:
当我们需要对数据库完成CRUD时候,这个时候需要一个东西来连接数据库。但是市面上有众多的关系型数据库,程序员们不可能面对一种数据库就学一种操作语句。
这时候官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码是驱动jar包中的实现类。
- 实例
如下以mysql为例讲解具体的实现接口的具体含义
Connection conn = null;
PreparedStatement ps = null;
try {
//注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接对象
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/huakai", "root", "root");
//设定sql语句
String sql = "select * from student";
//创建执行sql对象
ps = conn.prepareStatement(sql);
//执行sql,返回结果集
ResultSet rs = ps.executeQuery();
//输出
while (rs.next()) {
System.out.println(rs.getString("name"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//释放资源
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
-
导入驱动jar包(略)
-
注册驱动:
Class.forName("com.mysql.jdbc.Driver");
如下代码是通过反射将com.mysql.jdbc.Driver中的文件加载到内存中。打开文件我们可以看到该方法执行过程中就会调用DriveManger的registerDriver方法,完成注册驱动
- 获取连接对象
conn = DriverManager.getConnection
("jdbc:mysql://localhost:3306/huakai", "root", "root");
如上有三个参数
"jdbc:mysql://localhost:3306/huakai": url
jdbc:mysql:// :指JDBC连接方式;
(oracle数据库连接方式:jdbc:oracle:thin:@)
localhost:本机地址
3306:端口号
huakai:数据库名称
root: 数据库的账号
root:数据库的密码
- 设置sql语句
String sql = "select * from student";
从数据库中的student表查询所有数据
- 执行sql语句
ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getString("name"));
}
执行后获得student表中name列中所有数据。