----------------siwuxie095
JDBC 编程之数据查询
首先下载 MySQL 的 JDBC 驱动,下载链接:
https://dev.mysql.com/downloads/connector/j/
mysql-connector-java-5.1.41.zip 解压后一览:
工程名:JDBCTest
包名:com.siwuxie095.jdbc
类名:JDBCTest.java
打开资源管理器,在工程 JDBCTest 文件夹下,创建一个文件夹:lib,
在其中放入:mysql-connector-java-5.1.41-bin.jar
工程结构目录如下:
选择 mysql-connector-java-5.1.41-bin.jar,右键->Build Path->Add to Build Path
此时,工程结构目录一览:
代码:
package com.siwuxie095.jdbc;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement;
/** * 下面的方法实际上将数据库信息硬编码到java代码中,不可取 * * @author siwux * */ public class JDBCTest {
/** * jdbc编程流程: * 加载驱动 * 打开连接 * 执行查询 * 处理结果 * 清理环境 */
public static void main(String[] args) {
String sql="select * from stu_password";// sql查询语句 Connection conn=null;// 当前数据库连接 Statement st=null;// 向数据库发送sql语句
ResultSet rs=null;// 结果集,封装了从数据库中查询到的数据 try { /** * 注册MySQL的jdbc驱动程序 * * Class类继承自Object,它封装的是被装载到JVM中的类的信息, * 如:类的成员变量、成员方法、类实现的接口、继承自谁等 * * forName方法用来初始化参数指定的类,并创建一个对应的实例对象 * * com.mysql.jdbc.Driver字符串 是MySQL的jdbc驱动程序 */ Class.forName("com.mysql.jdbc.Driver");
/** * 获取MySQL的数据库连接,需传入三个参数 * 分别是 MySQL数据库的URL,MySQL数据库的用户名,MySQL数据库的密码 * * */ conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sims_db","root","8888");
st=conn.createStatement();//创建一个Statement对象
rs=st.executeQuery(sql);//发送sql语句,返回一个Resultset对象 //对Resultset对象进行遍历 while(rs.next()) { System.out.print(rs.getString("stu_id")+" "); System.out.print(rs.getString("stu_pwd")+" "); System.out.println(); } } catch (Exception e) { e.printStackTrace(); System.err.println("数据库加载失败..."); }finally {
//资源清理工作 try { rs.close();//关闭Resultset结果集 } catch (Exception e2) { e2.printStackTrace(); } try { st.close();//关闭Statement对象 } catch (Exception e2) { e2.printStackTrace(); } try { conn.close();//关闭数据库连接 } catch (Exception e2) { e2.printStackTrace(); } } }
} |
运行一览:
注意:高版本的 JDBC 驱动需要指明是否进行 SSL 连接
即 加上:?characterEncoding=utf8&useSSL=false
或:
即 加上:?useUnicode=true&characterEncoding=utf-8&useSSL=false
总结 JDBC 编程流程:
(1)加载驱动:加载 JDBC 驱动程序
(2)打开连接:打开一个数据库连接
(3)执行查询:创建一个会话对象,执行增删改查等操作
(4)处理结果:处理查询的结果
(5)清理环境:关闭会话,关闭连接等操作,完成资源的清理工作
关于 数据库的准备,详见本人博客的分类:来一杯Java,
里面的 JDBC编程之数据准备
本人博客(任选其一)链接:
https://www.baidu.com/s?ie=UTF-8&wd=siwuxie095
【made by siwuxie095】