----------------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】

JDBC编程之数据查询的更多相关文章

  1. JDBC编程之数据准备

    --------------------siwuxie095 JDBC 编程之数据准备 启动 MySQL 服务,在管理员模式下的 CMD 窗口中输入 net start mysqldb 「对应的关闭 ...

  2. JDBC编程 之 增删改查

    JDBC编程之数据增加,更改,查询,删除 package com.good.jdbc; import java.sql.Connection; import java.sql.DriverManage ...

  3. JDBC编程之程序优化

    -----------------siwuxie095 首先下载 MySQL 的 JDBC 驱动,下载链接: https://dev.mysql.com/downloads/connector/j/ ...

  4. JDBC编程之数据更新

    -------------------siwuxie095                             JDBC 编程之数据更新             首先下载 MySQL 的 JDBC ...

  5. Java8学习之旅2---基于Lambda的JDBC编程

    Java8的Lambda表达式确实是一个很好的特性.可是在哪些场合下使用.事实上还是须要细致考虑的.我们当然不能为了使用而使用,而是须要找到切实实用的场合.在JDBC编程中,比如查询语句,首先须要进行 ...

  6. JDBC在javaweb中的应用之分页数据查询

    分页查询 分页查询是java web开发中经常使用到的技术.在数据库中数据量非常大的情况下,不适合将所有的数据全部显示到一个页面中,同时为了节约程序以及数据库的资源,就需要对数据进行分页查询操作. 通 ...

  7. 使用JDBC从数据库中查询数据的方法

    * ResultSet 结果集:封装了使用JDBC 进行查询的结果 * 1. 调用Statement 对象的 executeQuery(sql) 方法可以得到结果集 * 2. ResultSet 返回 ...

  8. 单独使用jdbc编程问题总结(一)

    在学习Mybatis之前,我们先来回顾JDBC编程的相关知识.在此基础上深入的学习Mybatis框架.如有错误,敬请指正. (一)首先我们既然要使用jdbc,当然是要操作数据库了.创建一个名为:myb ...

  9. 浅谈JDBC编程

    一.概述 1.为什么要用JDBC 数据库是程序不可或缺的一部分,每一个网站和服务器的建设都需要数据库.对于大多数应用程序员(此处不包含数据库开发人员)来说,我们更多的不是在DBMS中对数据库进行操纵, ...

随机推荐

  1. elk示例-精简版2

    作者:Danbo 时间:2016-03-13 1.保存进Elasticsearch Logstash可以试用不同的协议实现完成将数据写入Elasticsearch的工作,本节中介绍HTTP方式. 配置 ...

  2. 从性能角度分析一下String,List,Map

    使用String.subString()方法的时候注意内存溢出的问题 public static void testH() { List<String> strings = new Arr ...

  3. nginx 搭建虚拟主机

    一.排错三部曲 第一步在客户端上ping服务端ip  ping 10.0.0.8 第二部在客户端上telnet服务器端IP.端口  telnet 10.0.0.8 第三部在客户端使用wget命令检测 ...

  4. chattr与lsattr命令详解

    PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...

  5. Nexus4_换电池

    1.参考帖子:http://tieba.baidu.com/p/2444904362 ([图片]直播nexus4拆机换电池,勿插_nexus4吧_百度贴吧.html) 主要的内容是: (1).(5楼) ...

  6. Git_学习_00_资源帖

    1.廖雪峰: (1)Git教程 2.阮一峰: (1)Git分支管理策略 (2)Git远程操作详解 (3)Git 使用规范流程 (4)Github 的清点对象算法 (5)常用 Git 命令清单 (6)G ...

  7. 《java编程思想》:字符串

    1.String对象是不可变的,String类中每个看起来会修改String值的方法,实际上都是创建了一个新的String对象,来包含修改后的内容,所以在对String修改后,想打印新的值,可以直接打 ...

  8. linux命令学习笔记(1):ls命令

    ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单 如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查 看li ...

  9. QT之在QML中使用C++类和对象

    QML其实是对ECMAScript的扩展,融合了Qt object系统,它是一种新的解释性语言,QML引擎虽然由Qt C++实现,但QML对象的运行环境说到底和C++对象的上下文环境是不通的,是平行的 ...

  10. ACM学习历程—HDU5637 Transform(数论 && 最短路)

    题目链接:http://codeforces.com/problemset/problem/590/A 题目大意是给两种操作,然后给你一个s,一个t,求s至少需要多少次操作到t. 考虑到第一种操作是将 ...