package cn.zhouzhou;

import java.sql.Connection;
import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; /*
* 一、jdbc工具类
* 1.是啥?
* 在增删改查的时候 ,发现很多代码都是重复的。为了简化代码,将其封装成一个类
* 方便使用!
*
* 2.怎么写?
* 1. 创建私有的属性(连接数据库必要的四个变量):dreiver url user password    2. 将构造函数私有化    3.将注册驱动写入静态代码块,可以直接被调用。    4.外界只能通过调用本工具的静态方法 getConnectio() 获取数据库连接,让调用者处理异常(抛出异常)    5. 资源关闭 也采用静态方法调用   升级版【使用 properties 配置文件进行数据库连接配置】
*
* 3..怎么用?
*/
public class Jdbc工具类 { private static String driver="com.mysql.jdbc.Driver"; //1.创建私有属性 4个
private static String url="jdbc:mysql://localhost:3306/qy66";
private static String use="root";
private static String password="root"; private Jdbc工具类(){ //2.将构造函数私有化 如果将构造方法藏起来,则外部肯定无法直接调用,就肯定不能用new关键字调用构造方法实例。 } static{ //3.将注册驱动 写入静态代码块
try {
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
} public static Connection getConnection() throws SQLException{ //4.获取connection?
return DriverManager.getConnection(url, use, password);
} public static void close(ResultSet rs ,Statement start,Connection con){ //5.释放资源?
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (start!=null) {
try {
start.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (con!=null) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

测试的效果

package cn.zhouzhou;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/*
* 测试?执行写的工具类?
*
*/
public class Text01 {
public static void main(String[] args) throws SQLException { Connection con=Jdbc工具类.getConnection(); //1.注册 String string="select * from shop"; //2.查询 PreparedStatement start=con.prepareStatement(string); //3.设置 执行语句 ResultSet rs=con.prepareStatement(string).executeQuery(); while (rs.next()) {
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getDouble(3));
} Jdbc工具类.close(rs, start, con); //4.关闭资源
}
/*
* 输出结果! 我把小数点删除了 为的是增强观看效果!
2 打牌支出 200
3 衣服支出 100
4 工资收入 200
5 商品收入 200
6 张三 2000
7 工资收入 100000
* */ }

jdbc工具类1.0的更多相关文章

  1. jdbc工具类2..0

    一.创建外部文件 url=jdbc:mysql:///qy66 use=root password=root driver=com.mysql.jdbc.Driver 二.创建工具类 package ...

  2. java使用注解和反射打造一个简单的jdbc工具类

    a simple jdbc tools 如有转载和引用,请注明出处,谢谢 1. 定义我们需要的注解 要想实现对数据库的操作,我们必须知道数据表名以及表中的字段名称以及类型,正如hibernate 使用 ...

  3. 开源JDBC工具类DbUtils

    本篇将会详细地介绍Apache公司的JDBC帮助工具类DbUtils以及如何使用.在上一篇中我们已经通过将以前对dao层使用JDBC操作数据库的冗余代码进行了简易封装形成自己的简单工具类JdbcUti ...

  4. JDBC第三篇--【事务、元数据、改造JDBC工具类】

    这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 这是我JDBC的第二篇 http://blog.csdn.net/ho ...

  5. JDBC【事务、元数据、改造JDBC工具类】

    1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样[A账户的钱没变,B账户的钱也没变]. 事例说 ...

  6. JDBC工具类完整版!

    package com.aaa.util; import java.sql.*; import java.util.ArrayList; import java.util.HashMap; impor ...

  7. JDBC工具类 访问数据库 增删改查CRUD的通用方法

    1 package com.zmh.util; 2 3 import java.sql.*; 4 import java.util.ArrayList; 5 import java.util.Hash ...

  8. JDBC工具类连接数据库,模仿登录

    ## 使用JDBC工具类的原因在使用JDBC连接数据库的时候,加载驱动.获取连接.释放资源等代码是重复的,所有为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装 ...

  9. 利用JDBC工具类添加和查询数据-Java(新手)

    JDBC工具类: 1 package cn.lxr.jdbclx; 2 3 import java.sql.*; 4 5 public class JDBCUtils { 6 private stat ...

随机推荐

  1. 【vue】vue +element 搭建项目,在使用InputNumber 计数器时遇到的问题

    自己遇到的坑: InputNumber 计数器的change事件定义时如果不传入参数value,会产生this.num不同步的问题 <template> <el-input-numb ...

  2. .net core redis 驱动推荐,为什么不使用 StackExchange.Redis 转发 https://www.cnblogs.com/kellynic/p/9325816.html

    前言 本人从事 .netcore 转型已两年有余,对 .net core 颇有好感,这一切得益于优秀的语法.框架设计. 2006年开始使用 .net 2.0,从 asp.net 到 winform 到 ...

  3. robotframework日志中文乱码,编译提示‘utf-8’ codecxxxx。

    1.需要设置robotframework的语系 2.设置完后,需要重启robotframework才生效.它比较特别,什么改变都要重启才生效

  4. Luogu5221 Product

    Luogu5221 Product 求 \(\displaystyle\prod_{i=1}^n\prod_{j=1}^n{\frac{\operatorname{lcm}(i,\ j)}{\gcd( ...

  5. 2018-2019-2 20175310 实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175310 实验二<Java面向对象程序设计>实验报告 一.实验步骤及内容 (一).面向对象程序设计-1 参考 http://www.cnblogs.com/ ...

  6. Linux kprobe调试技术使用

    kprobe调试技术是为了便于跟踪内核函数执行状态所设计的一种轻量级内核调试技术. 利用kprobe技术,可以在内核绝大多数函数中动态插入探测点,收集调试状态所需信息而基本不影响原有执行流程. kpr ...

  7. Linux内存管理之mmap详解

    转发之:http://blog.chinaunix.net/uid-26669729-id-3077015.html Linux内存管理之mmap详解 一. mmap系统调用 1. mmap系统调用  ...

  8. 详解JSOUP的Select选择器语法

    本文参考:JSOUP中文文档 问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select(String selector) 和 Elements.se ...

  9. Django ORM模型:想说爱你不容易

    作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁转载. 使用Python的Django模型的话,一般都会用它自带的ORM(Object-relational ma ...

  10. Linux Namespace : Mount

    Mount namespace 为进程提供独立的文件系统视图.简单点说就是,mount namespace 用来隔离文件系统的挂载点,这样进程就只能看到自己的 mount namespace 中的文件 ...