/**JDBC课程2--实现Statement(用于执行SQL语句)
* 1.Statement :用于执行SQL语句的对象;
* 1): 通过Connection 的createStatement()方法获取;
* 2): 通过executeUpdate(sql) 可以执行SQL语句;
* 3): 通过传入的sql 可以是insert、update或者delete ;但不能使select;
* 2.connection 和 Statement 都是服务器和应用程序的连接资源,需要及时关闭;
* 需要在finally 中最终关闭.
* 3.关闭的顺序,先关闭后获取的,即先关闭Statement ,后关闭connection
*/ 1.try/catch 代码块里的变量进行初始化成null 即可;

封装好的 testStatement 程序代码:

public class testStatement {
/* 一个通用的版本的三个方法: 包括insert、update、delete */
@Test
public void test01(){ //测试JDBCTools的工具类,包括insert、update、delete
update3("update customers set name='Alix' where id='1' "); //成功 update3("INSERT INTO customers(NAME,EMAIL,BIRTH)" +" VALUES('name4','WWW.ssssss.com','2008-9-8');"); //成功
update3("delete from customers where id=2 "); //成功 } public void update3(String sql){
Connection conn=null;
Statement statement=null;
try {
conn=JDBCTools.getConnection(); //调用静态类,获取连接 statement=conn.createStatement(); //调用静态类,执行sql语句
statement.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.release(statement, conn);
}
}
}

操纵JDBC的工具类

/**操纵JDBC的工具类, 其中封装了一些工具方法
* Version 1 : getConnection() : 通过读取配置文件从数据库服务器获取一个连接;
* Version 2 : release() : 关闭数据库资源的
*/
public class JDBCTools {
public static void release(Statement statement,Connection conn){
if(statement!=null){
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null){
try {
conn.close();
} catch (SQLException e2) {
e2.printStackTrace();
}
}
}
public static Connection getConnection() throws Exception{
//1.准备数据库的连接的四个字符串
String driverClass=null,jdbcUrl=null,user=null,password=null;
//jdbc:mysql:///books ;也可以将localhost省略掉!
//2.读取类路径下的jdbc.properties 文件
InputStream in=
JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");
Properties properties =new Properties();
properties.load(in);
driverClass =properties.getProperty("driver");
jdbcUrl=properties.getProperty("jdbcUrl");
user = properties.getProperty("user");
password = properties.getProperty("password");
//3.加载数据库驱动程序(注册驱动),driver对应的实现类中有注册驱动的静态代码块
// Class.forName(driverClass); //
//或这么手动加载,也可以注册多个数据库连接的代码块
//DriverManager.registerDriver( Class.forName(driverClass).newInstance()); //4.通过DriverManager 的getConnection()方法获取数据库连接。
Connection connection=DriverManager.getConnection(jdbcUrl,user,password);
System.out.print(connection); //com.mysql.jdbc.JDBC4Connection@19e1023e return connection;
} }

mysql数据库books 的信息:

 jdbc.properties  同一src资源库下

driver = com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/books
user=root
password=123456

JDBC课程2--实现Statement(用于执行SQL语句)--使用自定义的JDBCTools的工具类静态方法,包括insert/update/delete三合一的更多相关文章

  1. statement 对象执行sql语句

    statement对象执行sql语句    关于Statement.它是Java执行数据库操作的一个重要步骤,可以执行一些简单的SQL语句,从而完成对数据库的操作.它有两个子接口,分别是Prepare ...

  2. Jmeter(三十八)Jmeter Question 之 ‘批量执行SQL语句’

    知识使我们变得玩世不恭,智慧使我们变得冷酷无情,我们思考的太多,感知太少,除了机器,我们更需要人性,除了智慧,我们需要仁慈和善良. ------出自查理卓别林的演讲 前面有提到Jmeter使用JDBC ...

  3. QtSQL学习笔记(3)- 执行SQL语句

    QSqlQuery类提供了一个用于执行SQL语句和浏览查询的结果集的接口. QSqlQueryModel和QSqlTableModel类提供了一个用于访问数据库的高级接口,这将在下一节介绍.如果你不熟 ...

  4. Entity Framework Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  5. EF Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  6. 使用Statement执行sql语句

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java ...

  7. 10.1(java学习笔记)JDBC基本操作(连接,执行SQL语句,获取结果集)

    一.JDBC JDBC的全称是java database connection java数据库连接. 在java中需要对数据库进行一系列的操作,这时就需要使用JDBC. sun公司制定了关于数据库操作 ...

  8. 用jdbc连接数据库并简单执行SQL语句

    一:版本一.这种存在一个问题就是每执行一次操作都会创建一次Connection链接和且释放一次链接 1:创建pojo对象(OR映射,一个pojo类对应一张数据库表)   package com.yin ...

  9. JDBC详解系列(四)之建立Stament和执行SQL语句

    建立Stament   在获得连接之后,我们就可以跟数据库进行交互了.   在JDBC中,我们发送SQL语句到数据库这些操作时通过Stament,Preparement,CallableStateme ...

随机推荐

  1. sql 表的连接与查找

    A.left outer join: 左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行. SQL: select a.a, a.b, a.c, b.c, b.d, b.f fro ...

  2. springboot的mapper.xml在src下问题

    在pom.xml里面的build标签加上resources说明 <resources> <!-- mapper.xml文件在java目录下 --> <resource&g ...

  3. git使用安装

    下载地址 http://msysgit.github.io/ 配置个人的用户名称和电子邮件地址: $ git config --global user.name "runoob" ...

  4. pycharm设置开发模板/字体大小/背景颜色(3)

    一.pycharm设置字体大小/风格 选择 File –> setting –> Editor –> Font ,可以看到如上界面,可以根据自己的喜好随意调整字体大小,字体风格,文字 ...

  5. 使用fiddl模拟弱网

    原文地址:https://www.jianshu.com/p/71c3b4a49930 Fiddler-弱网设置 1.打开fiddler,点击 Rules->Performance-> 勾 ...

  6. webpack config to use plugin and webpack-dev-server

    Demo3操作手册 本Demo演示如何配合各种plugin进行偏复杂的使用 准备环境 初始化环境, cd到demo1目录之后, 执行如下命令: npm init -y npm install webp ...

  7. VMware虚拟机(Ubuntu)通过主机代理实现——浏览器+终端访问外网

    环境说明:主机win10 + 虚拟机ubunut16.04 + 主机s-h-a-d-o-w-socks win10 主机相关操作配置1: 按下 Win + R 快捷键,输入 cmd ,然后在命令行中输 ...

  8. 小贴士--java篇

    1. java:  “.”和“|”都是转义字符,必须得加"\\" 2.java :如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“acount=? and uu = ...

  9. 通过 Kubeadm 安装 K8S 与高可用,版本1.13.4

    环境介绍: CentOS: 7.6 Docker: 18.06.1-ce Kubernetes: 1.13.4 Kuberadm: 1.13.4 Kuberlet: 1.13.4 Kuberctl: ...

  10. 定时任务cron表达式详解

    参考自:https://blog.csdn.net/fanrenxiang/article/details/80361582 一 cron表达式 顺序 秒 分 时 日期 月份 星期 年(可选) 取值 ...