Java-JDBCUtil工具类
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
import org.apache.log4j.Logger;
public class JdbcUtil {
public static Logger logger = Logger.getLogger(JdbcUtil.class.getName());
// 创建静态全局变量
// static Connection conn;
// static Statement statement;
public static Connection getConnection() {
String jdbc_url = null;
//String jdbc_db = null;
String jdbc_driver = null;
String jdbc_name = null;
String jdbc_password = null;
try {
Properties prop = new Properties();
// InputStream inStream =
// JdbcUtil.class.getResourceAsStream("config/database.properties");
InputStream inStream = new FileInputStream(new File("config/database.properties"));
prop.load(inStream);
jdbc_url = prop.getProperty("jdbc_url");
//jdbc_db = prop.getProperty("jdbc_db");
jdbc_driver = prop.getProperty("jdbc_driver");
jdbc_name = prop.getProperty("jdbc_name");
jdbc_password = prop.getProperty("jdbc_password");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
Connection con = null; // 创建用于连接数据库的Connection对象
try {
Class.forName(jdbc_driver);// 加载Mysql数据驱动
// con = DriverManager.getConnection(jdbc_url + jdbc_db, jdbc_name,
// jdbc_password);// 创建数据连接
con = DriverManager.getConnection(jdbc_url + "?user=" + jdbc_name + "&password=" + jdbc_password + "&useUnicode=true&characterEncoding=utf-8");// 创建数据连接
} catch (Exception e) {
System.out.println("数据库连接失败" + e.getMessage());
}
return con; // 返回所建立的数据库连接
}
/* 插入数据记录,并输出插入的数据记录数 */
public static void insert(String sql) {
Connection conn = getConnection(); // 首先要获取连接,即连接到数据库
try {
logger.info("jdbc插入数据开始");
Statement statement = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象
int count = statement.executeUpdate(sql); // 执行插入操作的sql语句,并返回插入数据的个数
System.out.println("更新 " + count + " 条数据"); // 输出插入操作的处理结果
statement.close();
conn.close(); // 关闭数据库连接
logger.info("jdbc插入数据结束");
} catch (SQLException e) {
System.out.println("插入数据失败" + e.getMessage());
}
}
/* 更新符合要求的记录,并返回更新的记录数目 */
public static void update(String sql) {
Connection conn = getConnection(); // 同样先要获取连接,即连接到数据库
try {
// logger.info("jdbc更新数据开始");
// String sql =
// "update staff set wage='2200' where name = 'lucy'";// 更新数据的sql语句
Statement statement = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量
int count = statement.executeUpdate(sql);// 执行更新操作的sql语句,返回更新数据的个数
System.out.println("更新 " + count + " 条数据"); // 输出更新操作的处理结果
statement.close();
conn.close(); // 关闭数据库连接
// logger.info("jdbc更新数据结束");
} catch (SQLException e) {
System.out.println("更新数据失败");
}
}
/* 查询数据库,输出符合要求的记录的情况 */
public static String query(String sql,String queryContent) {
Connection conn = getConnection(); // 同样先要获取连接,即连接到数据库
String queryContentTemp = "";
try {
Statement statement = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量
ResultSet rs = statement.executeQuery(sql); // 执行sql查询语句,返回查询数据的结果集
while (rs.next()) { // 判断是否还有下一个数据
// 根据字段名获取相应的值
queryContentTemp = rs.getString(queryContent);
}
rs.close();
statement.close();
conn.close(); // 关闭数据库连接
} catch (SQLException e) {
e.printStackTrace();
}
return queryContentTemp;
}
/* 删除符合要求的记录,输出情况 */
public static void delete(String sql) {
Connection conn = getConnection(); // 同样先要获取连接,即连接到数据库
try {
logger.info("jdbc删除数据开始");
// String sql = "delete from staff where name = 'lili'";//
// 删除数据的sql语句
Statement statement = (Statement) conn.createStatement(); // 创建用于执行静态sql语句的Statement对象,st属局部变量
int count = statement.executeUpdate(sql);// 执行sql删除语句,返回删除数据的数量
System.out.println("agent表中删除了【 " + count + " 】条数据。"); // 输出删除操作的处理结果
statement.close();
conn.close(); // 关闭数据库连接
logger.info("jdbc删除数据结束");
} catch (SQLException e) {
System.out.println("删除数据失败");
}
}
}
Java-JDBCUtil工具类的更多相关文章
- Java Properties工具类详解
1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...
- Java json工具类,jackson工具类,ObjectMapper工具类
Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...
- Java日期工具类,Java时间工具类,Java时间格式化
Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...
- Java并发工具类 - CountDownLatch
Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...
- MinerUtil.java 爬虫工具类
MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...
- MinerDB.java 数据库工具类
MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
- Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie
Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...
- UrlUtils工具类,Java URL工具类,Java URL链接工具类
UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...
- java日期工具类DateUtil-续一
上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...
随机推荐
- POJ2411 Mondriaan's Dream 【状压dp】
没错,这道题又是我从LZL里的博客里剽过来的,他的题真不错,真香. 题目链接:http://poj.org/problem?id=2411 题目大意:给一个n * m的矩形, 要求用 1 * 2的小方 ...
- Intellj Idea 快捷键入门
Intellj IDEA快捷键入门 时间: 2019/11/29 系统: Win10系统 版本 :Intellj Idea 2018.3 背景: 入手Intellj idea 两个月了,总结一下一些常 ...
- 函数try{}
语法 函数try块是一种函数体的替代语法形式,是函数定义的一部分 try构造函数初始化器 复合语句 处理块序列 (1)构造函数初始化器 - 成员初始化器列表,只在构造函数允许 (2)复合语句 - 花括 ...
- nginx自定义log_format以及输出自定义http头
官方文档地址: http://nginx.org/en/docs/http/ngx_http_log_module.html 一.log_format默认格式 首先Nginx默认的log_format ...
- logid让你的请求完整可追溯
今天是在博客园开园的第一天 一时间其实并不能想起来到底该写什么文章,其实想写的东西挺多 今天就以logid这个主题开始吧,网上写这个的文章似乎不多,但是的确是在实际生产中相当重要的一个能力,也是容易被 ...
- 【js】面向对象学习资料
1.面向对象模式: https://m.jb51.net/article/74549.htm 2.面向对象基础篇 http://www.cnblogs.com/chiangchou/p/js-oop1 ...
- C99 inline关键字
C99 inline 一直以来都用C++用得比较多,这个学期做操作系统的课设用回了C,结果一波內联函数居然链接不过去--查了查资料,C99引入的inline和C++的inline语义区别是很大的,我算 ...
- TVM调试指南
1. TVM安装 这部分之前就写过,为了方便,这里再复制一遍. 首先下载代码 git clone --recursive https://github.com/dmlc/tvm 这个地方最好使用--r ...
- JAVA 分布式
什么是分布式系统? 要理解分布式系统,主要需要明白一下2个方面: 1.分布式系统一定是由多个节点组成的系统. 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的. 2.这些连通的节点 ...
- Line 算法与deepwalk的对比 和个人理解
用户的关注关系本身就是一个图结构,要从用户关注关系生成用户的embedding表示,其实就是做graph的emebding表示. deepwalk+word2vec 比较简单,效果也还可以.这种方法再 ...