一、创建外部文件

url=jdbc:mysql:///qy66
use=root
password=root
driver=com.mysql.jdbc.Driver

二、创建工具类

package cn.zhouzhou;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; /*
* jdbc2.0?
*
* 一、配置文件
*
1.在SRC下创建文件 格式为properties jdbc.properties
2.写入
url=jdbc:mysql:///qy66 注意【这里的qy66】 是自己的数据库中有的 库!
use=root
password=root
driver=com.mysql.jdbc.Driver
3.好处?
这样写 可以直接在外部文件改变驱动、用户名、或是连接地址 二、获得路径的方式?
1.读取文件 Properties pro01=new Properties();
2.获取文件路径 ClassLoader class01=工具类存在硬编码问题.class.getClassLoader(); classloader()类加载器!
3.通过getPath(); 提供文件路径
4.load(Reader reader) 以简单的线性格式从输入字符流读取属性列表(关键字和元素对)
5.getProperty(String key) 使用此属性列表中指定的键搜索属性。 三、获取连接对象? 四、释放资源? */
public class 工具类存在硬编码问题 {
private static String driver;
private static String url;
private static String use;
private static String password; //文件的读取?
static{
try { Properties pro01=new Properties(); //读取文件?proerties ClassLoader class01=工具类存在硬编码问题.class.getClassLoader();//获取SRC路径?classloader()类加载器! 作用 将class文件加载到jvm虚拟机中去,程序就可以正确运行了 URL res=class01.getResource("jdbc.properties"); //getResource? 获得SRC目录下的jdbc.properties文件
String path=res.getPath(); //getpath()? 提供文件路径 pro01.load(new FileReader(path)); url=pro01.getProperty("url");
use=pro01.getProperty("use");
password=pro01.getProperty("password");
driver=pro01.getProperty("driver"); } catch (Exception e) { e.printStackTrace();
}
}
//获取连接对象?
public static Connection getConnection() throws SQLException{
return DriverManager.getConnection(url, use, password); }
//释放资源?
public static void close(Statement stmt,Connection conn){
if (stmt!=null) {
try {
stmt.close();
} catch (SQLException e) { e.printStackTrace();
}
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) { e.printStackTrace();
}
} }
//还要释放资源? 方法的重载。
public static void close(ResultSet rs,Statement stmt, Connection conn){
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt!=null) {
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null) {
try {
conn.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=工具类存在硬编码问题.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));
}    工具类存在硬编码问题.close(rs, start, con); //4.关闭资源
}
/*
* 输出结果!
2 打牌支出 200.0
3 衣服支出 100.0
4 工资收入 200100.0
5 商品收入 2000.0
6 张三 2000.0
7 工资收入 0.0
12 003 5000.0
* */ }

jdbc工具类2..0的更多相关文章

  1. jdbc工具类1.0

    package cn.zhouzhou; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManag ...

  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. 004_Python之all()\any()

    http://www.jianshu.com/p/65b6b4a62071 一.待验证整理

  2. 07 Python初学(元组)

    tuple:    元组被称为只读列表,即数据可以被查询,但不能被修改,列表的切片操作同样适用于元组. 元组写在小括号()里,元素之间用逗号隔开 虽然 tuple 的元素不可改变,但他可以包含可变的对 ...

  3. .Net使用Redis详解之ServiceStack.Redis(七) 转载https://www.cnblogs.com/knowledgesea/p/5032101.html

    .Net使用Redis详解之ServiceStack.Redis(七)   序言 本篇从.Net如何接入Reis开始,直至.Net对Redis的各种操作,为了方便学习与做为文档的查看,我做一遍注释展现 ...

  4. mysql 监控工具(windows版本)

    文章转自  https://www.cnblogs.com/wucj/p/7152020.html 工具下载  http://www.profilesql.com/download/

  5. Edusoho之LAMP环境搭建

    主要参考官方文档Ubuntu16.04+Apache+PHP+MySQL+EduSoho 安装教程LAMP环境按照如下搭建是没有问题的,本地虚拟机试验是完全没有问题的. 1.更新 sudo apt-g ...

  6. Android测试(三):本地单元测试

    原文:https://developer.android.com/training/testing/unit-testing/local-unit-tests.html 如果你的单元测试没有依赖或者只 ...

  7. Express+MongoDB开发web后台接口MongoDB

    摘要: Express开发web接口; 安装MongoDB,启动.连接MongoDB服务台; 使用nodejs和mongoose模块链接和操作MongoDB; 一.Express开发web接口 exp ...

  8. UVA10256 The Great Divide

    怎么又没人写题解,那我来贡献一发好了. 题目意思很简单,平面上有两种颜色的点,问你能否求出一条直线使两种颜色的点完全分开. 首先我们考虑两个点集相离的充要条件,这两个点集的凸包必须相离.(很好证明或者 ...

  9. JVM总括:目录

    JVM总括:目录 JVM总括一-JVM内存模型 JVM总括二-垃圾回收:GC Roots.回收算法.回收器 JVM总括三-字节码.字节码指令.JIT编译执行 JVM总括四-类加载过程.双亲委派模型.对 ...

  10. elasticsearch判断索引是否存在

    一.判断索引是否存在 指定索引名,判断指定的索引是否存在集群中 /** * 判断指定的索引名是否存在 * @param indexName 索引名 * @return 存在:true; 不存在:fal ...