----------------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. PIG执行MR时报Connection refused错误

    原因是jobhistory没有启动,其启动脚本位于hadoop/sbin目录下 启动命令如下 mr-jobhistory-daemon.sh start historyserver

  2. 虚拟机ubuntu14.04系统设置静态ip

    ubuntu14.04 设置静态ip vim /etc/network/interfaces 原来只有 auto lo iface lo inet loopback 修改成如下: auto lo if ...

  3. 【leetcode刷题笔记】Two Sum

    Given an array of integers, find two numbers such that they add up to a specific target number. The ...

  4. NGINX中遇到SELinux 13:permission denied

    被selinux坑了.抓包发现端口始终没有流量, 操作过程中还特地dmesg看了c并没发现selinux的异常. https://www.nginx.com/blog/using-nginx-plus ...

  5. CentOS下查看文件和文件夹大小

    当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. 当磁盘大小超过标准时会有报警提示,这时如 ...

  6. mysql查看和设置timeout 和批量杀死链接进程

    查看的语句 show global variables like "%timeout%"; 结果: +-----------------------------+--------- ...

  7. github之克隆

    git clone --depth=10 git_仓库_url 只会获取最近 xx(10条提交记录的)代码,默认是master分支, 如果想要指定分支,可以结合 -b --single--branch ...

  8. Mybatis异常_04_mapper.xml中不能使用小于号<、大于号>

    一.解决方法: 1.< 2.<![CDATA[ < ]]> 将小于号替换为上述代码即可. 二.参考资料 1.mybatis配置中sql莫名其妙报错,多半是条件中小于符号捣的鬼

  9. Session 和cookie机制详解

    参考: http://blog.csdn.net/fangaoxin/article/details/6952954/ http://blog.csdn.net/hjc1984117/article/ ...

  10. redis学习--Hashes数据类型

    本文转自:http://www.cnblogs.com/stephen-liu74/archive/2012/03/19/2352932.html 一.概述: 我们可以将Redis中的Hashes类型 ...