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工具类的更多相关文章

  1. Java Properties工具类详解

    1.Java Properties工具类位于java.util.Properties,该工具类的使用极其简单方便.首先该类是继承自 Hashtable<Object,Object> 这就奠 ...

  2. Java json工具类,jackson工具类,ObjectMapper工具类

    Java json工具类,jackson工具类,ObjectMapper工具类 >>>>>>>>>>>>>>> ...

  3. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  4. Java并发工具类 - CountDownLatch

    Java并发工具类 - CountDownLatch 1.简介 CountDownLatch是Java1.5之后引入的Java并发工具类,放在java.util.concurrent包下面 http: ...

  5. MinerUtil.java 爬虫工具类

    MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...

  6. MinerDB.java 数据库工具类

    MinerDB.java 数据库工具类 package com.iteye.injavawetrust.miner; import java.sql.Connection; import java.s ...

  7. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

  8. Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie

    Java Cookie工具类,Java CookieUtils 工具类,Java如何增加Cookie >>>>>>>>>>>>& ...

  9. UrlUtils工具类,Java URL工具类,Java URL链接工具类

    UrlUtils工具类,Java URL工具类,Java URL链接工具类 >>>>>>>>>>>>>>>&g ...

  10. java日期工具类DateUtil-续一

    上篇文章中,我为大家分享了下DateUtil第一版源码,但就如同文章中所说,我发现了还存在不完善的地方,所以我又做了优化和扩展. 更新日志: 1.修正当字符串日期风格为MM-dd或yyyy-MM时,若 ...

随机推荐

  1. Linux系列(3):入门之正确的关机方法

    前言:在Windows(非NT主机系统)系统中,由于是单人假多任务的情况,所以即使你计算机关机,对于别人也没有丝毫影响!不过,在Linux下面,由于每个程序(或者服务)都是在在背景下执行,因此,在看不 ...

  2. Elastic Search中DSL Query的常见语法

    Query DSL是一种通过request body提交搜索参数的请求方式.就是将请求头参数(?xxx=xxx)转换为请求体参数.语法格式:GET [/index_name/type_name]/_s ...

  3. shiro过滤器机制

    shiro内置过滤器介绍 https://blog.csdn.net/qq_35608780/article/details/71703197 Shiro的Filter机制详解---源码分析 http ...

  4. lesson12Homework

    package StringPractice; public class arrayTest { //1. 把A数组的前5个元素复制到B数组中. public static void main(Str ...

  5. scrapy操作指南

    Scrapy安装:(scrapy依赖包过多推荐使用下面的方法) 先安装Anaconda,然后 运行conda install Scrapy 创建scrapy项目: 1,scrapy startproj ...

  6. arcgisJs之featureLayer中feature的获取

    arcgisJs之featureLayer中feature的获取 在featureLayer中source可以获取到一个Graphic数组,但是这个数组属于原数据数组.当使用 applyEdits修改 ...

  7. linux下共享热点抓包

    Linux有一个抓包工具叫tcpdump,这个命令还是挺强大的.简单列举一下它的参数 # tcpdump -h tcpdump version 4.9.2 libpcap version 1.8.1 ...

  8. C# Monitor Wait()和Pulse()

    C# Monitor Wait()和Pulse()   1.Monitor.Wait方法当线程调用 Wait 时,它释放对象的锁并进入对象的等待队列,对象的就绪队列中的下一个线程(如果有)获取锁并拥有 ...

  9. odoo 关系字段(关联关系)

    Many-to-one关联 publisher_id = fields.Many2one(comodel_name= 'res.partner', domain='',context={},ondel ...

  10. Linux下pwn从入门到放弃

    Linux下pwn从入门到放弃 0x0 简介 pwn,在安全领域中指的是通过二进制/系统调用等方式获得目标主机的shell. 虽然web系统在互联网中占有比较大的分量,但是随着移动端,ioT的逐渐流行 ...