JBBD操作数据库(一)
JDBC的概念:
为什么需要JDBC?
JDBC是Java连接数据库的简称,具有连接多种数据库的能力
JDBC驱动由数据库厂商提供
·在个人开发与测试中,可以使用JDBC-ODBC桥连接方式
·在生产型开发中,推荐使用纯Java驱动方式

在本节中,我们只讲纯Java驱动方式:
·由JDBC驱动直接访问数据库
·优点:完全Java代码,快速、跨平台
·缺点:访问不同的数据库需要下载专用的JDBC驱动
JDBC的工作原理:

-
JDBC API
·提供者:SUN公司 ·内容:供使用者调用的接口和类,集成在java.sql和javax.sql包中 ·DriverManager类 ·Connection接口 ·Statement接口 ·ResultSet接口 -
JDBC API主要功能:
与数据库建立连接,执行SQL语句、处理结果

- DriverManager:依据数据库的不同,管理JDBC驱动
- Connection:负责连接数据库并且担任传送数据的任务
- Statement:由Connection产生,负责执行SQL语句
- ResultSet:负责保存Statement执行后产生的查询结果
运行模式如下:

使用jdbc连接数据库的步骤:
- (1) 点击项目名,右键new —> floder---->lib
- (2) 将Mysql的驱动jar包复制到lib文件夹中
- (3) 点击lib文件夹中的mysql jar包,右键build path—>add to build path,表示将jar包添加到项目中
- (4) 创建测试类以及main方法
- (5) 然后以上都是准备工作
- (6) 从这一步开始使用jdbc技术连接数据库
- 加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//这里需要手动向下抛出异常
//创建集合,用于存储从表中查询到的所有的学生对象信息
List<Student>listAll=new ArrayList<Student>();
- 获取数据库连接
String url = "jdbc:mysql://localhost:3306/myschool"; //连接字符串
String user = "root"; //用户名
String pwd = "root"; //密码
try {
//获得数据库连接对象
Connection conn = DriverManager.getConnection(url, user, pwd);
if (conn != null) {
System.out.println("连接成功");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
- 写SQL语句,使用Statement接口执行sql语句
String sql="SELECT id,name,sex,brith,department,address FROM student;";
Statement stmt=conn.createStatement();
- 接收返回的结果集
ResultSet rs=stmt.executeQuery(sql);
- 处理返回的结果集
while (rs.next()) {
//以int形式获取结果集中列名为id的值
int id=rs.getInt("id");
String name=rs.getString("name");
String sex=rs.getString("sex");
String brith=rs.getString("brith");
String department=rs.getString("department");
String address=rs.getString("address");
Student stu=new Student(id, name, sex, brith, department, address);
//将每一个学生对象添加到集合中
listAll.add(stu);
}
- 释放资源
rs.close();
stmt.close();
conn.close();
最后在try…cath语句外面执行循环遍历集合对象即可
完整代码如下:
public static void main(String[] args) {
// TODO Auto-generated method stub
//1.加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//2.建立数据库的连接
try {
Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/school", "root", "admin");
if(conn!=null){
System.out.println("连接成功");
}
//3.写sql语句,创建statement对象,执行sql语句
String sql="SELECT id,name,sex,brith,department,address FROM student;";
Statement stmt=conn.createStatement();
//4.接收返回的(查询)结果集
ResultSet rs=stmt.executeQuery(sql);
//5.处理返回的(查询)结果集
while (rs.next()) {
//以int形式获取结果集中列名为id的值
int id=rs.getInt("id");
String name=rs.getString("name");
String sex=rs.getString("sex");
String brith=rs.getString("brith");
String department=rs.getString("department");
String address=rs.getString("address");
Student stu=new Student(id, name, sex, brith, department, address);
//将每一个学生对象添加到集合中
listAll.add(stu);
}
//6.释放资源
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//循环遍历集合信息
for (Student student : listAll) {
System.out.println(student.toString());
}
}
本文详细介绍了如何通过Java的JDBC API连接到MySQL数据库,包括JDBC的概念、工作原理、主要功能,以及使用JDBC进行数据库连接、执行SQL语句和处理结果的步骤。内容涵盖从加载JDBC驱动、建立数据库连接、创建Statement对象、执行查询、处理ResultSet到释放资源的全过程。
465

被折叠的 条评论
为什么被折叠?



