一、建立静态的数据库配置文件:

config.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/database01
user=root
password=

二、创建工具类 :

JDBCUtils.java

package com.dzq.util;

import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; public class JDBCUtils { private static Properties prop=null; private JDBCUtils(){ } /**
* 静态代码块,加载数据库配置文件
*/
static{
try{
prop=new Properties();
prop.load(new FileReader(JDBCUtils.class.getClassLoader().getResource("config.properties").getPath()));
}catch(Exception e){
e.printStackTrace();
throw new RuntimeException();
}
} /**
* 获取连接
*/
public static Connection getConn() throws Exception{ Class.forName(prop.getProperty("driver"));
return DriverManager.getConnection(prop.getProperty("url"), prop.getProperty("user"), prop.getProperty("password"));
} /**
* 关闭连接
*/
public static void close(ResultSet rs,Statement stat,Connection conn){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
rs=null;
}
}
if(stat!=null){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
stat=null;
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
conn=null;
}
}
}
}

三、查询、增删改测试代码:

JDBCDemo2.java

package com.dzq.jdbc;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement; import org.junit.Test; import com.dzq.util.JDBCUtils; public class JDBCDemo2 { /**
* 该类中方法均以JUnit测试的形式给出
*/ @Test
public void delete(){
Connection conn=null;
Statement stat=null;
ResultSet rs=null;
try{
//2.获取连接
conn=JDBCUtils.getConn();
//3.获取传输器对象
stat=conn.createStatement();
stat.executeUpdate("delete from user where name='zhaoliu'");
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.close(rs, stat, conn);
}
} @Test
public void find(){
Connection conn=null;
Statement stat=null;
ResultSet rs=null;
try{
//2.获取连接
conn=JDBCUtils.getConn();
//3.获取传输器对象
stat=conn.createStatement();
rs=stat.executeQuery("select * from user where name='zhaoliu'");
while(rs.next()){
String name=rs.getString("name");
String password=rs.getString("password");
String email=rs.getString("email");
System.out.println("name:"+name+"pwd:"+password+"email:"+email);
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.close(rs, stat, conn);
}
}
@Test
public void update(){
Connection conn=null;
Statement stat=null;
try {
//2.获取连接
conn=JDBCUtils.getConn();
//3.获取传输器对象
stat=conn.createStatement();
stat.executeUpdate("update user set password=999 where name='zhangsan'");
} catch (Exception e) {
e.printStackTrace();
}finally{
JDBCUtils.close(null, stat, conn);
}
}
@Test
public void add(){
Connection conn=null;
Statement stat=null;
//1.注册数据库驱动
try{ //2.获取连接
conn=JDBCUtils.getConn();
//3.获取传输器对象
stat=conn.createStatement();
//4.执行sql语句
int count=stat.executeUpdate("insert into user values (null,'zhangsan','123456','zhaoliu@qq.com','1999-09-09')");
//5.处理结果
if(count>0){
System.out.println("添加数据成功,影响行数为"+count);
}else{
System.out.println("执行失败");
}
}catch(Exception e){
e.printStackTrace();
}finally{
//6.关闭资源
JDBCUtils.close(null, stat, conn);
}
}
}

20160406javaweb JDBC 实例工具类的更多相关文章

  1. JDBC实例--工具类升级,使用Apache DBCP连接池重构DBUtility,让连接数据库更有效,更安全

    直接使用JDBC访问数据库时,需要避免以下隐患: 1. 每一次数据操作请求都需要建立数据库连接.打开连接.存取数据和关闭连接等步骤.而建立和打开数据库连接是一件既耗资源又费时的过程,如果频繁发生这种数 ...

  2. 【JDBC】工具类的抽取

    jdbc.properties属性文件 driverClass=com.mysql.jdbc.Driver url=jdbc:mysql:///jdbctest username=root passw ...

  3. jdbc连接数据库工具类

    import java.lang.reflect.Field; import java.sql.Connection; import java.sql.DriverManager; import ja ...

  4. 创建Jdbc封装工具类

    jdbc.propertie url=jdbc:mysql:///empye user=root password=root driver=com.mysql.jdbc.Driver 读取资源文件  ...

  5. jdbc之工具类DBUtil的使用

    首先回顾一下jdbc的使用方法: 1. 注册驱动 2. 建立连接 3. 建立statement 4. 定义sql语句 5. 执行sql语句,如果执行的是查询需遍历结果集 6. 关闭连接 其中建立连接和 ...

  6. 小米开源文件管理器MiCodeFileExplorer-源码研究(2)-2个单实例工具类

    从本篇开始,讲解net.micode.fileexplorer.util工具包中的类.这个包下的类,功能也比较单一和独立.很多代码的思想和实现,可以用于JavaWeb和Android等多种环境中. 一 ...

  7. JDBC——抽取工具类

    目的:简化书写 分析: 1.注册驱动 2.获取连接对象 3.释放资源 1.注册驱动 2.获取连接对象 需求:不想传递参数,还能保证工具类的通用性解决方案:配置文件 jdbc.properties ur ...

  8. JDBC编程工具类 Dbconnection

    JDBC基础:https://blog.csdn.net/weixin_44893902/article/details/106746880 Dbconnection工具类(包含了连接,增删改查,关闭 ...

  9. JDBC 实例--JDBC通过工具类DBUtil连接到数据库,让我们不再恐惧操作数据库

    利用JDBC连接到数据库一般需要几个步骤: 1.装载驱动程序. 2.建立连接. 3.发送和执行SQL语句. 4.释放资源 首先建立一个数据库: 脚本如下: create database csdn; ...

随机推荐

  1. linux 系统获取网络ip, mask, gateway, dns信息小程序

    net_util.c #define WIRED_DEV                   "eth0"     #define WIRELESS_DEV             ...

  2. VI编辑器的使用方法

    一.vi的工作模式vi有两种工作模式:  编辑模式:用来输入和编辑文件的模式,屏幕上会显示用户的键入,按键不是被解释为命令执行,而是作为文本写到用户的文件中.  指令模式:用来编辑.存盘和退出文件的模 ...

  3. CentOS 安装nagios

    Nagios的介绍: 1.Nagios是一个监控系统运行状态和网络信息的监控系统.它能监控所指定的本地或远程主机的系统状态以及运行的服务,同时提供异常通知的功能. 2. Nagios可运行在Linux ...

  4. 如何使用Visual Studio 2013 创建Azure云应用

    创建 Azure 云服务 Azure 云服务包括执行应用程序所需操作的角色.当你将云服务发布到 Azure 时,每个角色将在云中的虚拟机上运行.有关如何开发 Azure 云服务的详细信息. 创建 Az ...

  5. HW4.40

    public class Solution { public static void main(String[] args) { long positiveSide = 0; long negativ ...

  6. Nexus5如何手动OTA更新系统到4.4.3、4.4.4及常见问题回答

    这里将记录一套行之有效的Nexus5手动升级方法,以帮助看见这篇文章的朋友成功将手头的Nexus5升级到4.4.4. 因为谷歌服务器的事,我的这次OTA更新起来走了很多弯路.我试过挂VPN等待系统来更 ...

  7. poj1149--PIGS(最大流)

    题意: 有m个猪圈 每个猪圈有不同数量的猪 [0, 1000]有n个顾客 每个顾客需要Bi头猪 有Ai个钥匙 能打开Ai个不同的猪圈顾客按顺序来买猪 只能买他有钥匙的猪 买完之后 这几个猪圈的猪可以相 ...

  8. 注册表-各种功能-隐藏IE、隐藏硬盘、禁用硬件

    1.在[我的电脑]上隐藏软驱 在[开始]→[运行]→输入[Regedit]→[HKEY_CURRENT_USER]→[Software] →[Microsoft] →[Windows]→[Curren ...

  9. PC-飞起来!我的Windows XP——五步快速优化Windows XP

    虽然Microsoft的 Vista已经发售了快一年,但国内大部分系统用户仍使用着目前堪称完美的Windows XP.与以往的Windows操作系统一样,新安装的Windows XP可能还不在最佳状态 ...

  10. tensorflow 实现线性方程

    下面的直接是代码: #!usr/bin/env python#coding:utf-8"""这个代码的作用是 通过 tensorflow 来计算 y = 0.3x + 0 ...