MYSQL 之 JDBC(三): 增删改查(一)通过Statement执行更新操作
Statement测试
/**
* 通过JDBC向指定的数据表中插入一条记录
* 1. Statement:用于执行sql语句的对象
* 1.1 通过Connection的createStatement()方法来获取
* 1.2 通过executeUpdate(sql)可以执行SQL语句
* 1.3 传入的sql可以是insert, update或delete,但不能是select
* 2. Connection、Statement都是应用程序和数据库服务器的连接资源。使用后一定要关闭。
* 2.1 需要再finally中关闭
* 3. 关闭顺序:先获取的后关,后获取的先关
*/
public void testStatement() {
Connection conn = null;
Statement statement = null;
try {
// 1. 获取数据库连接
conn = getConnection2();
// 2. 准备插入的SQL语句
String sql = "insert into t_user (username, pwd) values('测试', 3352)";
String sql2 = "update t_user set username='傻瓜' where id = 20017";
// 3. 执行插入
// 3.1 获取操作sql语句的Statement对象
statement = conn.createStatement();
// 3.2 调用Statement对象的executeUpdate(sql)执行SQL语句
statement.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (statement != null) {
// 4. 关闭Statement对象
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (statement != null) {
// 5. 关闭Connection对象
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
insert/update/delete封装
/**
* 通用的更新的方法:insert/update/delete
* 版本1
*/
public void update(String sql){
Connection conn = null;
Statement statement = null; try {
conn = getConnection2();
statement = conn.createStatement();
statement.executeUpdate(sql);
}catch (Exception e){
e.printStackTrace();
}finally {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (statement != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
创建JDBC的工具类,封装方法
工具类
package com.litian.jdbc; import java.io.InputStream;
import java.sql.*;
import java.util.Properties; /**
* @author: Li Tian
* @contact: litian_cup@163.com
* @software: IntelliJ IDEA
* @file: JDBCUtils.java
* @time: 2020/3/21 15:23
* @desc: |操作JDBC的工具类,其中封装了一些工具方法
* Version1
*/ public class JDBCTools { /**
* 关闭Statement和Connection的方法
*/
public static void release(Statement statement, Connection conn) {
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (statement != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
} public static void release(ResultSet rs, Statement statement, Connection conn) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (statement != null) {
statement.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (statement != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
} /**
* 1. 获取连接的方法
* 通过读取配置文件从数据库服务器获取一个连接。
*
* @return
*/
public static Connection getConnection() throws Exception {
// 1. 准备连接数据库的4个字符串。
// 1.1 创建Properties对象
Properties properties = new Properties();
// 1.2 获取jdbc.properties对应的输入流
InputStream in = JDBCTools.class.getClassLoader().getResourceAsStream("jdbc.properties");
// 1.3 加载1.2对应的输入流
properties.load(in);
// 1.4 具体决定user,password等4个字符串。
String user = properties.getProperty("user");
String password = properties.getProperty("password");
String jdbcUrl = properties.getProperty("jdbcUrl");
String driver = properties.getProperty("driver");
// 2. 加载数据库驱动程序
Class.forName(driver);
// 3. 通过DriverManager的getConnection()方法获取数据库连接。
return DriverManager.getConnection(jdbcUrl, user, password);
} }
修改后的insert/update/delete封装
public void update(String sql) {
Connection conn = null;
Statement statement = null;
try {
conn = getConnection2();
statement = conn.createStatement();
statement.executeUpdate(sql);
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCTools.release(statement, conn);
}
}
————————————————
版权声明:本文为CSDN博主「李英俊小朋友」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_21579045/article/details/105386353
MYSQL 之 JDBC(三): 增删改查(一)通过Statement执行更新操作的更多相关文章
- MySQL之JDBC编程增删改查
MySQL之JDBC 一.JDBC是什么 Java DatabaseConnectivity (java语言连接数据库) 二.JDBC的本质 JDBC是SUN公司制定的一套接口(interface). ...
- JDBC基础学习(一)—JDBC的增删改查
一.数据的持久化 持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,数据持久化意味着将内存中的数据保存到硬盘上加以固化,而持久化的实现过程大多通过各 ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- MySQL数据库安装,MySQL数据库库的增删改查,表的增删改查,表数据的基本数据类型
一 MySQL的安装 MySQL现在属于甲骨文公司,所以和java语言匹配度较高,同时甲骨文公司的另一种数据库为Oracle,两者同为关系型数据库,即采用关系模型来组织数据,以行和列的方法来存储数据的 ...
- Vc数据库编程基础MySql数据库的表增删改查数据
Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...
- python操作三大主流数据库(2)python操作mysql②python对mysql进行简单的增删改查
python操作mysql②python对mysql进行简单的增删改查 1.设计mysql的数据库和表 id:新闻的唯一标示 title:新闻的标题 content:新闻的内容 created_at: ...
- Oracle使用JDBC进行增删改查 表是否存在
Oracle使用JDBC进行增删改查 数据库和表 table USERS ( USERNAME VARCHAR2(20) not null, PASSWORD VARCHAR2(20) ) a ...
- 纯Java JDBC连接数据库,且用JDBC实现增删改查的功能
Java JDBC连接数据库 package cn.cqvie.yjq; import java.sql.*; /** * 注册数据库的驱动程序,并得到数据库的连接对象 * @author yu * ...
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
关于node.js暂时记录如下,以后有时间一定学习 文章来自简书,作者:sprint,2016-07 使用 Node.js + Express+MySQL 实现简单的增删改查 https://www. ...
- mysql 的基本操作总结--增删改查
本文只是总结一下mysql 的基本操作,增删改查,以便忘记的时候可以查询一下 1.创建数据库 语法:CREATE DATABASES 数据库名; 例子: CREATE DATABASES studen ...
随机推荐
- apt用法详解
目录 1. 常规操作 2. apt-cache 3. 配置apt-get的缓存路径 4. 常用工具集 4.1. 开发工具 4.2. 系统辅助 1. 常规操作 更新仓库 sudo apt-get upd ...
- Ubuntu18.04美化MacOS(新更grub界面美化)
写在前面的话: 在美化过程中大多数资源来自境外网站,下载时速度特别慢,写这篇博客一是为了给读者看,也是为了自己保存资源并记录ubuntu18.04的使用,避免你们或是自己以后再花费大量时间去百度方法和 ...
- VS Code项目中通过npm包的方式共享代码片段的方案实现
VS Code项目中通过npm包的方式共享代码片段的方案实现 上周在 "VS Code项目中共享自定义的代码片段方案" 的文章中提到过一个共享代码片段的方案,上周经过调研后并没有发 ...
- 动作函数-web_submit_data
web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", &q ...
- 《MySQL技术内幕:InnoDB存储引擎》读书笔记
一.Mysql体系结构和存储引擎 1. 概念: 数据库:物理操作系统文件或其他形式文件类型的集合.(是文件的集合,是依照某种数据模型组织起来并存放于二级存储器中的数据集合.) ...
- cb17a_c++_构造string对象的方法
cb17a_c++_构造string对象的方法string sstring s(s2)string s("value")string s(n,'c')string s(b,e) / ...
- 一文搞定Redis五大数据类型及应用场景
本文学习知识点 redis五大数据类型数据类型:string.hash.list.set.sorted_set 五大类型各自的应用场景 @TOC 1. string类型 1-1 string类型数据的 ...
- 实时web应用方案——SignalR(.net core)
何为实时 先从理论上解释一下两者的区别. 大多数传统的web应用是这样的:客户端发起http请求到服务端,服务端返回对应的结果.像这样: 也就是说,传统的web应用都是客户端主动发起请求到服务端. 那 ...
- 入门大数据---HDFS,Zookeeper,ZookeeperFailOverController(简称:ZKFC),JournalNode是什么?
HDFS介绍: 简述: Hadoop Distributed File System(HDFS)是一种分布式文件系统,设计用于在商用硬件上运行.它与现有的分布式文件系统有许多相似之处.但是,与其他分布 ...
- vim/vm命令后提示错误:Found a swap file by the name ".dockerfile.swp"
今天在使用docker时,使用vim命令操作dockerfile文件,提示如下错误: 错误原因,是由于上一次在操作该文件时,异常退出,然后系统生成了一个dockerfile.swp文件,该文件是个隐藏 ...