----------------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. eclipse新建Maven项目

    1.在eclipse中安装maven插件 2.点击File->new->maven project,出现弹窗后点击next. 接着在弹窗Select an Archetype中,filte ...

  2. C#转换人民币大写金额

    /// <summary> /// 转换人民币大写金额. /// </summary> public class RMBConverter { /// <summary& ...

  3. vim打开多个文件方式及操作

    格式如下: #vim file*.txt 或者 #vim file file2 file3 查看当前编程的是那个文件,在冒号命令行下 :args 命令,类似:file [file2],以中括号里面为当 ...

  4. 算法(Algorithms)第4版 练习 1.4.5

    a. N b. 1 c. 1 d. N3 e. 1 f. 1 g. 1(0)

  5. HDU 5869 Different GCD Subarray Query(2016大连网络赛 B 树状数组+技巧)

    还是想不到,真的觉得难,思路太巧妙 题意:给你一串数和一些区间,对于每个区间求出区间内每段连续值的不同gcd个数(该区间任一点可做起点,此点及之后的点都可做终点) 首先我们可以知道每次添加一个值时gc ...

  6. 1.微信小程序-B站:前言准备

    前言 <微信小程序开发-B站>是以bilibili移动端网站为基础开发微信小程序版本,笔者喜欢的学习是愉快.轻松并能学到实战的东西,不知各位观友有没有一样的经历,就是一有问题不是先去Goo ...

  7. 十八 Django框架,生成二维码

    用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块 生成二维码保存图片在本地 import qrcode img = qrcode.make ...

  8. 简单使用XStream

    Stream1.什么作用 *可以把JavaBean转换为(序列化为)xml2.XStream的jar *核心jar:xstream-1.4.7.jar *必须依赖包:xpp3_min-1.1.4c(X ...

  9. hdu4699 Editor(双向链表或双栈对弹)

    本题就是两个要点: 1.数据结构的设计.显然可以使用双向链表来做,但是写双向链表的代码复杂度高.其实更好的方法是使用两个对弹的栈来做,而且没必要用STL的栈,就自己开两个数组简单搞一下就好了. 2.最 ...

  10. 关于对H264码流的PS的封装的相关代码实现

    1.写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的 ...