一、JDBC简述
JDBC(Java DataBase Connectivity) Java数据库连接
其实就是 利用Java语言/程序连接并访问数据库的一门技术
之前我们可以通过CMD或者navicat等工具连接数据库
但在企业开发中,更多的是通过程序(Java程序)连接并访问数据库, 通过Java程序访问数据库,就需要用到JDBC这门技术。
二、JDBC六步
1、注册数据库驱动
1 Class.forName("com.mysql.cj.jdbc.Driver");
注册驱动,就是让JDBC程序加载mysql驱动程序,并管理驱动。
驱动程序实现了JDBC API定义的接口以及和数据库服务器交互的功能,加载驱动是为了方便使用这些功能。
2、获取数据库连接
1 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/数据库名? characterEncoding=utf-8&serverTimezone=Asia/Shanghai", "root", "root" );
DriverManager.getConnection() 用于获取数据连接,返回的Connection 连接对象是JDBC程序连接数据库至关重要的一个对象。
参数2和参数3分别是所连接数据库的用户名和密码。
参数1:"jdbc:mysql://localhost:3306/数据库名" 是连接数据库的URL,用于 指定访问哪一个位置上的数据库服务器及服务器中的哪一个数据当连接本地数据库,并且端口为3306时,可以简写为
1 jdbc:mysql:///数据库名
3、Statement传输器对象--发送Sql语句到服务器执行
Statement stat = conn.createStatement(); //该方法返回用于向数据库服务器发送sql语句的Statement传输器对
4、ResultSet结果集对象--封装查询Sql执行的结果
String sql = "" //写要执行的sql语句
ResultSet rs = stat.executeQuery(String sql) //用于向数据库发送查询类型的sql语句, 返回一个ResultSet对象中 ResultSet rs = stat.executeUpdate(String sql) //用于向数据库发送更新(增加、删除、修 改)类型的sql语句,返回一个int值,表示影响的记录行数
可以返回影响的行数并打印,方便以后发现问题
int rows = stat.executeQuery(sql);
5、处理结果
1)遍历数据行的方法
next() – 使指向数据行的箭头向下移动一行,并返回一个布尔类型的结 果,true表示箭头指向了一行数据,false表示箭头没有指向任何数据(后面 也没有数据了)
1 while(rs.next()) { 2 int id = rs.getInt("id"); 3 String name = rs.getString("name"); 4 double money = rs.getDouble("money"); 5 System.out.println(id+","+name+","+money); 6 }
6、释放资源
此处释放资源必须按照一定的顺序释放,越晚获取的越先关闭。所以 先关闭 rs对象,再关闭stat对象,后关闭conn对象。
1 rs.close(); 2 stat.close(); 3 conn.close();