jdbc工具类2..0
一、创建外部文件
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的更多相关文章
- jdbc工具类1.0
package cn.zhouzhou; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManag ...
- java使用注解和反射打造一个简单的jdbc工具类
a simple jdbc tools 如有转载和引用,请注明出处,谢谢 1. 定义我们需要的注解 要想实现对数据库的操作,我们必须知道数据表名以及表中的字段名称以及类型,正如hibernate 使用 ...
- 开源JDBC工具类DbUtils
本篇将会详细地介绍Apache公司的JDBC帮助工具类DbUtils以及如何使用.在上一篇中我们已经通过将以前对dao层使用JDBC操作数据库的冗余代码进行了简易封装形成自己的简单工具类JdbcUti ...
- JDBC第三篇--【事务、元数据、改造JDBC工具类】
这是我JDBC的第一篇 http://blog.csdn.net/hon_3y/article/details/53535798 这是我JDBC的第二篇 http://blog.csdn.net/ho ...
- JDBC【事务、元数据、改造JDBC工具类】
1.事务 一个SESSION所进行的所有更新操作要么一起成功,要么一起失败 举个例子:A向B转账,转账这个流程中如果出现问题,事务可以让数据恢复成原来一样[A账户的钱没变,B账户的钱也没变]. 事例说 ...
- JDBC工具类完整版!
package com.aaa.util; import java.sql.*; import java.util.ArrayList; import java.util.HashMap; impor ...
- JDBC工具类 访问数据库 增删改查CRUD的通用方法
1 package com.zmh.util; 2 3 import java.sql.*; 4 import java.util.ArrayList; 5 import java.util.Hash ...
- JDBC工具类连接数据库,模仿登录
## 使用JDBC工具类的原因在使用JDBC连接数据库的时候,加载驱动.获取连接.释放资源等代码是重复的,所有为了提高代码的复用性,我们可以写一个工具类,将数据库驱动加载.获取连接.资源释放的代码封装 ...
- 利用JDBC工具类添加和查询数据-Java(新手)
JDBC工具类: 1 package cn.lxr.jdbclx; 2 3 import java.sql.*; 4 5 public class JDBCUtils { 6 private stat ...
随机推荐
- day25 Python
一.day24复习 class school: x=1 #__init__初始化函数,用来帮类实例化一个具体的对象 def __init__(self,name,addr): #前面的Name是一个需 ...
- SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表)
SWAP_JOIN_INPUTS Oracle Hint(处理hash join强制大表(segment_size大)作为被驱动表) swap_join_inputs是针对哈希连接的hint,它的含义 ...
- 工具篇-Java中一些utils
下边是整理的一些Java开发的utils,顺便吐槽下新浪博客的编辑器排版跟我写的博客一样 烂,所以改用博客园 一.字符串 1. Java中String与其他类型之间的转换 String与日期对象 pu ...
- Visual Studio Package 插件开发之自动生成实体工具(Visual Studio SDK)
前言 这一篇是VS插件基于Visual Studio SDK扩展开发的,可能有些朋友看到[生成实体]心里可能会暗想,T4模板都可以做了.动软不是已经做了么.不就是读库保存文件到指定路径么…… 我希望做 ...
- 如何向微软 Docs 和本地化社区提交翻译贡献
Docs (docs.microsoft.com)是微软新版的文档网站,重新规划了各项技术栈的文档结构,看起来比 MSDN 可读性更好.虽然 Docs 提供了各种语言的版本,但大多是机器翻译,某些中文 ...
- Windows Community Toolkit 4.0 - DataGrid - Part03
概述 在上面一篇 Windows Community Toolkit 4.0 - DataGrid - Part02 中,我们针对 DataGrid 控件的 Utilities 部分做了详细分享.而在 ...
- java.util.Stack类中 empty() 和 isEmpty() 方法的作用
最近在学习算法和数据结构,用到Java里的Stack类,但程序运行结果一直和我预料的不一样,网上也没查清楚,最后查了API,才搞明白. java.util.Stack继承类 java.util.Vec ...
- 设置placeholder无效解决办法
一.设置placeholder的方法 placeholder属性用来设置控件内部的提示信息 <input type="text" placeholder="请输入用 ...
- 【转】给word中的代码着色
基本操作 1)用Notepad++直接编辑代码文件,注意文件后缀,比如.cpp是C++程序,.m是Matlab,linux文件是.sh,写对后缀表示的文件类型,才有对应的语法高亮效果. 2)选中需要的 ...
- c# winform导出Excel
//需要注意添加引用Microsoft.Office.Interop.Excel.dll string fileName =DateTime.Now.Year+ DateTime.Now.Month+ ...