java连接mysql实现增删改查_java连接数据库,实现增删改查操作
一.前言
写这个文章的原因是为了巩固自己连接数据库步骤
希望对初次学习数据库的朋友有所帮助
二.MySQL数据库连接
数据库连接步骤加载驱动程序,获取数据库连接对象
2.1驱动jar包
2.2代码
package cn.sg.xx.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
try {
//数据库驱动参数
String Driver = "com.mysql.cj.jdbc.Driver";//"com.mysql.jdbc.Driver"-->驱动地址已经过时
//连接的URL,数据库名为test
String URL = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf8";//后边的参数serverTimezone-->指定时区,characterEncoding-->编码格式
//数据库用户名
String Username = "root";
//数据库密码
String Password = "123";
//加载MySQL驱动程序
Class.forName(Driver);
//与MySQL数据库创立连接
Connection con = null;
con = DriverManager.getConnection(URL, Username, Password);
} catch (ClassNotFoundException e) {
System.out.println("驱动程序没有找到!");
} catch (SQLException e) {
System.out.println("SQL异常!");
}
}
}
三.增加表数据
String sql = "INSERT INTO test(id,NAME,sex) VALUES(?,?,?);";
建议写成这种语法,指定插入的列,可以防止表字段修改后,程序报错
使用PreparedStatement 进行sql语句的装配,可以防止sql注入
3.1代码
package cn.sg.xx.test;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) {
try {
//数据库驱动参数
String Driver = "com.mysql.cj.jdbc.Driver";//"com.mysql.jdbc.Driver"-->驱动地址已经过时
//连接的URL,数据库名为test
String URL = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf8";//后边的参数serverTimezone-->指定时区,characterEncoding-->编码格式
//数据库用户名
String Username = "root";
//数据库密码
String Password = "123";
//加载MySQL驱动程序
Class.forName(Driver);
//与MySQL数据库创立连接
Connection con = null;
con = DriverManager.getConnection(URL, Username, Password);
//sql语句装配,?为占位符
String sql = "INSERT INTO test(id,NAME,sex) VALUES(?,?,?);";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setInt(1, 2);
stmt.setString(2, "张三");
stmt.setString(3, "男");
stmt.executeUpdate();
//执行完数据库的操作有指令之后要释放资源,否则会导致内存的溢出
stmt.close();
con.close();
} catch (ClassNotFoundException e) {
System.out.println("驱动程序没有找到!");
} catch (SQLException e) {
System.out.println("SQL异常!");
}
}
}
四.删除表数据
删除表数据的操作和插入操作基本相同,只有sql语句不同
4.1代码
String sql = "DELETE FROM test WHERE id = 1";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.executeUpdate();
五.修改表数据
同插入数据一样,仅仅修改sql语句为
UPDATE test SET sex = '女' WHERE id = 1
六.查找表数据
表数据的查找需要比上边的插入、删除操作多关闭ResoultSet资源
ResoultSet rs;
rs.close();
6.1代码
//查找表数据
String sql = "SELECT * FROM test";
PreparedStatement stmt = con.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
//从 rs 获取数据
while (rs.next()) {
//rs.getMetaData().getColumnCount() --> 获取表的列数
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
String colunmName = rs.getMetaData().getColumnName(i);//获取列名
Object temp = rs.getString(i);//获取该列对应元素的值
System.out.print(colunmName + "-->" + temp + "\t");
}
System.out.println();
七.全部代码
package cn.sg.xx.test;
import java.sql.*;
public class Main {
public static void main(String[] args) throws SQLException {
Connection con = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
//数据库驱动参数
String Driver = "com.mysql.cj.jdbc.Driver";//"com.mysql.jdbc.Driver"-->驱动地址已经过时
//连接的URL,数据库名为test
String URL = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=utf8";//后边的参数serverTimezone-->指定时区,characterEncoding-->编码格式
//数据库用户名
String Username = "root";
//数据库密码
String Password = "123";
//加载MySQL驱动程序
Class.forName(Driver);
//与MySQL数据库创立连接
con = DriverManager.getConnection(URL, Username, Password);
//sql语句装配,?为占位符
String sql = "INSERT INTO test(id,NAME,sex) VALUES(?,?,?);";
stmt = con.prepareStatement(sql);
stmt.setInt(1, 2);
stmt.setString(2, "张三");
stmt.setString(3, "男");
stmt.executeUpdate();
//删除表数据
sql = "DELETE FROM test WHERE id = 1";
stmt = con.prepareStatement(sql);
stmt.executeUpdate();
//修改表数据
sql = "UPDATE test SET sex = '女' WHERE id = 1";
stmt = con.prepareStatement(sql);
stmt.executeUpdate();
//查找表数据
sql = "SELECT * FROM test";
stmt = con.prepareStatement(sql);
rs = stmt.executeQuery();
//从 rs 获取数据
while (rs.next()) {
//rs.getMetaData().getColumnCount() --> 获取表的列数
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
String colunmName = rs.getMetaData().getColumnName(i);//获取列名
Object temp = rs.getString(i);//获取该列对应元素的值
System.out.print(colunmName + "-->" + temp + "\t");
}
System.out.println();
}
//执行完数据库的操作有指令之后要释放资源,否则会导致内存的溢出
} catch (ClassNotFoundException e) {
System.out.println("驱动程序没有找到!");
} catch (SQLException e) {
System.out.println("SQL异常!");
} finally {
//关闭资源
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (con != null)
con.close();
}
}
}
java连接mysql实现增删改查_java连接数据库,实现增删改查操作相关推荐
- java连接mysql数据库时出现乱码_java连接mysql数据库乱码怎么办
解决方法一: mysql安装时候的编码, 看下my.ini,有无 [mysql]default-character-set=utf8[client] default-character-set=utf ...
- java连接mysql数据库时出现乱码_java连接mysql数据库中文乱码问题
完整安装cocoaPods cocoaPods是一款xcode项目管理第三方库的工具 *ruby源码镜像下载:https://ruby.taobao.org/mirrors/ruby/*升级gem的版 ...
- Java连接Mysql数据库增删改查实现
Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...
- Java连接mysql数据库的详细教程(增查)
java连接mysql数据库[便于理解的jdbc] 一.开发环境 二.创建数据表 1. 用Navicat图形化创建 2. 用命令行创建 三.创建java工程 1.在eclipse中创建一个工程:Fir ...
- java连接MySQL几种方法_Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- java 连接mysql工具类_java连接Mysql数据库的工具类
一个封装好的链接Mysql数据库的工具类,可以方便的获取Connection对象关闭Statement.ResultSet.Statment对象等等 复制代码 代码如下: package myUtil ...
- java连接mysql数据库方法_java连接mysql数据库的方法详解
连接mysql数据库在java中有几种常用的方式有官方提供的JDBC连接MySQL数据库也有后面我们讲到的其它的方式连接数据库,具体如下. JDBC连接MySQL数据库 首先要下载Connector/ ...
- Java连接Mysql(JDBC)
Java连接Mysql JDBC (Java DataBase Connection) 是通过JAVA访问数据库. java连接mysql数据库需要第三方的类, 大多数java的类包的后缀名都是jar ...
- JDBC: Java连接MySQL
文章目录 一.Java连接MySQL数据库步骤 二.JDBC基本操作:CRUD 2.1 Statement 2.2 ResultSet 之滚动结果集(了解) 2.3 示例: 查询用户 2.4 DBUt ...
- java linux mysql数据库_Linux Java连接MySQL数据库
Linux(Ubuntu平台)Java通过JDBC连接MySQL数据库,与Windows平台类似,步骤如下: 解压 jdbc: tar -zxvf mysql-connector-java-5.1.1 ...
最新文章
- 微博平台StatusNet研究(3):友好URL与OpenID支持
- 【12】 全国外电音DJ 3000首 32G
- 聚集索引和非聚集索引的区别_武汉无疫情小区居民可在小区内非聚集性个人活动...
- 对于计算机维护的,关于计算机的硬件维护
- html 设置两个标签的相对距离_如何准确计算一div相对另一div的相对距离?
- 吴恩达|机器学习作业6.0支持向量机(SVM)
- 服务器CPU X86 ARM PowerPC RISC介绍
- 由echarts想到的js中的时间类型
- python获取某个模块文件的路径
- 获取客户端访问的ip地址
- 《计算机网络 自顶向下方法》(第7版)答案(第三章)(一)
- uniapp微信小程序订阅消息发送服务通知--超详细
- Shopify速度优化
- html 如何清除历史记录,如何删除网页历史记录?
- 【2021最新】4篇图神经网络综述论文,建议收藏!
- php同步登录,UCenter单点登录/同步登录/同步登出实例_PHP教程
- html bottom没有效果,css 设置margin-top或margin-bottom失效不取作用的解决方法
- Echarts图例位置 - legend属性
- 290万人考研:所有的不平凡,从不认命开始
- 计算机数据备份到u盘,技术给你说Win10系统怎么把数据备份到U盘的完全处理手段...
热门文章
- MogaFX外汇交易在新的BIS CBDC报告中占据中心地位
- 【后端-SpringCache】基于Spring Cache 封装支持Redis缓存批量操作的方式_记录下踩坑历程(pipeline或mget封装)
- 也许以后可以用到的东西
- r5 3600和r5 3600x的区别 选哪个
- 多个python编译器指定_python – 如何让setup.py测试使用特定的fortran编译器?
- 【开源电机驱动】H桥保护之反电势问题
- 2016中国电影票房增长跌至个位数,原因何在?
- batch_mini-batch_SGD
- 小学学生用计算机清单,小学一年级学生新学期的用品清单
- 2012-2020蓝桥C++ B组蓝桥杯省赛真题(第一题)