JavaEE---JDBC技术
JDBC:java连接数据库(任意数据库)的技术
JDBC是java为我们预先写好的操作数据库的一系列接口和类
主流的关系型数据库 中小型数据库(mysql sqlserver) 大型数据库(oracle DB2)
需求:通过JDBC技术 实现对数据库连接并且操作数据库中学生表的数据
下面我们来通过JDBC实现查询mysql数据库中学生表的所有学生信息 并且打印到控制台:
(代码如下)
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JdbcTest {
bublic static void main(String[] args) {
//JDBC连接操作数据库数据的步骤:
try {
//1.加载数据库的驱动(数据库驱动是由数据库厂商为我们提供 不同的驱动代表不同的数据库)确定连接什么数据库
//注意:加载驱动前 一定要确保数据库厂商提供的驱动文件 已经加载到我们当前项目中
Class.forName(“com.mysql.jdbc.Driver”);
//2.建立数据库的连接
//通过JDBC为我们提供的一个DriverManager对象中的一个getConnection方法连接数据库
//url:连接数据库的详细地址(明确连接哪台电脑上的mysql数据库)
//user:以哪个用户连接 password:用户的密码是什么
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”, “root”, “root”);
//3.通过连接对象conn 创建一个通道对象 返回一个通道对象
Statement stmt = conn.createStatement();
//4.通道对象会传递一个sql指令给数据库 去操作数据库中的数据
String sql = “select * from student”;
//通过通道对象执行完查询语句 把查询到的所有的学生信息 封装到一个集合(ResultSet)中 返回
ResultSet rs = stmt.executeQuery(sql);
//通过while循环 一个一个的取出学生 并且打印学生的详细信息到控制台
while(rs.next()){
System.out.println(rs.getInt(“stuid”)+”–“+rs.getString(“stuname”)+”–“+rs.getInt(“stuage”)+”–“+rs.getString(“stusex”));
}
//5.关闭JDBC的资源
//因为JDBC操作数据库的对象 java的垃圾回收器(GC)不会自动回收 造成内存空间的浪费和占用数据库资源
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
System.out.println(“找不到驱动类”);
e.printStackTrace();
}
}
}
运行结果如下:
通过对数据库里面的数据进行修改eclipse运行的结果也会跟着改变,如图所示: