/**
* 写一个通用的更新方法 包括 INSERT、 DELETE、UPDATE
* 使用工具类
* @param sql
*/
  public void update(String sql){
Connection conn=null;
Statement statement=null;
try {
conn=JDBCTools.getConnection();
statement=conn.createStatement();
statement.executeUpdate(sql); } catch (Exception e) {
e.printStackTrace();
}finally{
JDBCTools.close(statement, conn);
} }

//jdbc工具类

package jdbc;

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; public class JDBCTools { /**
* 操作JDBC的工具类,其中封装了一些工具方法 版本一;
*
* @author 杨波波
*/
/**
* 关闭Statement 和Connection
*/
public static void close(ResultSet rs, Statement statement, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} } } public static void close(Statement statement, Connection conn) { if (statement != null) {
try {
statement.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} } } /**
* 1 获取连接的方法 通过读取配置文件从数据库服务器获取一个连接
*
* @return
* @throws Exception
*/
public static Connection getConnection() throws Exception {
// 1 准备连接数据库的4个字符串
String driverClass = null;
String urljdbc = null;
String user = null;
String password = null;
// 2 读取路径下的配置文件
InputStream is = JDBCTools.class.getClassLoader().getResourceAsStream(
"jdbc.properties");
Properties p = new Properties();
p.load(is);// 加载
driverClass = p.getProperty("driver");
urljdbc = p.getProperty("urljdbc");
user = p.getProperty("user");
password = p.getProperty("password"); // // 3 通过反射--->Driver
// Driver driver = (Driver) Class.forName(driverClass).newInstance();//
// 反射!!
// Properties info=new Properties();
// info.put("user",user);
// info.put("password", password);
// // 通过Driver的connect方法获取数据库的连接
// Connection cc=driver.connect(urljdbc, info);
// return cc; // 3 加载数据库的驱动程序(对应的Driver 实现类中有注册驱动的静态代码块)
Class.forName(driverClass);// 是的方法灵活
// 4 通过DriverManager的getConnection()方法获取数据库的连接。 Connection cc = DriverManager.getConnection(urljdbc, user, password);
return cc; } }

转:  https://blog.csdn.net/YL1214012127/article/details/48214093

Java_jdbc 基础笔记之四 数据库连接 (通用更新方法)的更多相关文章

  1. Java_jdbc 基础笔记之七 数据库连接(方法升级)

    之前的更新方法 public static void update(String sql) { Connection conn = null; Statement statement = null; ...

  2. Java_jdbc 基础笔记之一 数据库连接

    方式一: 1.创建一个Driver实现类的对象 2.准备连接数据库的基本信息:url,user,password 3.调用Driver接口的connect(url,info)获取数据库连接 * Dri ...

  3. Java_jdbc 基础笔记之八 数据库连接(写一个查询Student对象的方法)

    public Student getStudent(String sql, Object... args) { // 查询Student对象 Student stu = null; Connectio ...

  4. Java_jdbc 基础笔记之六 数据库连接 (PreparedStatement)

    reparedStatement 是 Statement 的子接口 * ①需要预编译 SQL 语句:PreparedStatement ps = conn.preparedStatement(sql) ...

  5. Java_jdbc 基础笔记之五 数据库连接 (ResultSet)

    /** * ResultSet: 结果集. 封装了使用 JDBC 进行查询的结果. * 1. 调用 Statement 对象的 executeQuery(sql)可以得到结果集. * 2. Resul ...

  6. Java_jdbc 基础笔记之三 数据库连接 (Statement)

    /** * 通过JDBC向之指定的数据表中插入一条记录 1 Statement :用于执行SQL语句的对象 * ==>通过Connection的createStatement()方法来获取 == ...

  7. MVC LINQ中用封装的TSQL通用更新方法

    把TSQL拿出来,做了一个封装,适用的所有表,更新有两种,普通更新和记数更新 看代码:这两个方法是写在DAL里的数据操作基类里的,只有它的子类可以用它,所以用protected做为限制 /// < ...

  8. Java_jdbc 基础笔记之十一数据库连接 (通用的查询方法)

    鉴于之前的查询方法,在这里我们可以写一个通用的方法 /** * 鉴于 student.和customer查询的方法有好多相同之处,在此可以写一个通用的方法 */ public <T> T ...

  9. Java_jdbc 基础笔记之九 数据库连接 (查询Customer对象的方法)

    /** * * 写一个查询Customer对象的方法 * */ public Customer getCustomer(String sql, Object... args) { Customer c ...

随机推荐

  1. Linux-排JOB定时任务

      排job的3种方法,at方法只能执行一次,crontab可循环执行比较灵活,anacrontable可以检测job是否正常执行,没有执行就会重新执行比较智能一些,但是要执行的指令脚本要 放到相应的 ...

  2. springboot使用过滤器Filter

    先创建过滤器配置类: ## 引入的包部分省略... @Configuration public class FilterConfig { @SuppressWarnings({"rawtyp ...

  3. AxureRP分页签 / Tab选项卡切换功能~

    最终结果图如下: 实现过程: 1.从元件库中拖一个动态面板,调整所需大小,接下来的步骤都通过双击动态面板来完成. 2.双击动态面板,弹出框“面板状态管理”,新建状态并命名.此处新建了TAB1.TAB2 ...

  4. Linux命令——df

    参考:12 Useful “df” Commands to Check Disk Space in Linux 简介 df用于查看文件系统磁盘空间使用情况. df 读取的数据几乎都是针对一整个文件系统 ...

  5. 使用ansible部署CDH 5.15.1大数据集群

    使用ansible离线部署CDH 5.15.1大数据集群 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在此之前,我之前分享过使用shell自定义脚本部署大数据集群,不管是部署CD ...

  6. DNS服务概念

    DNS: Domain Name Service域名:www.magedu.com(主机名,FQDN:Full Qualified Domain Name, 完全限定域名)DNS:名称解析,Name ...

  7. Kotlin对象表达式深入解析

    嵌套类与内部类巩固: 在上一次https://www.cnblogs.com/webor2006/p/11333101.html学到了Kotlin的嵌套类与内部类,回顾一下: 而对于嵌套类: 归根结底 ...

  8. 你的一举一动,我可都看着!Linux超骚技巧三分钟Get

    今天看到一个超级叼的linux命令,可以完整记录屏幕上的命令与输出结果. 有人问这有什么叼的,不就是保存历史操作记录吗?我看看日志也能看出来. 不不不,我要说的“完整记录”包括第几秒执行什么命令,就像 ...

  9. Oracle字符串中包含数字、特殊符号的排序

    问题描述: 某小区,需要按照小区.楼栋.单元号.房间号进行排序,但是按照地址描述排序时,因为字符串中包含数字,所以造成了如下的结果, 1号楼之后应该是2号楼,但是查询结果却是10号楼 . 尝试解决 使 ...

  10. postgresql分布式集群之citus简介(转载)

    一.Citus是什么 citus是PG的一个sharding插件,可以把PG变成一个分布式数据库.目前在苏宁有大量的生产应用跑在citus+pg的环境中.大家可以看it大咖视频. citus是一款基于 ...