一.前言

写这个文章的原因是为了巩固自己连接数据库步骤

希望对初次学习数据库的朋友有所帮助

二.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连接数据库,实现增删改查操作相关推荐

  1. java连接mysql数据库时出现乱码_java连接mysql数据库乱码怎么办

    解决方法一: mysql安装时候的编码, 看下my.ini,有无 [mysql]default-character-set=utf8[client] default-character-set=utf ...

  2. java连接mysql数据库时出现乱码_java连接mysql数据库中文乱码问题

    完整安装cocoaPods cocoaPods是一款xcode项目管理第三方库的工具 *ruby源码镜像下载:https://ruby.taobao.org/mirrors/ruby/*升级gem的版 ...

  3. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

  4. Java连接mysql数据库的详细教程(增查)

    java连接mysql数据库[便于理解的jdbc] 一.开发环境 二.创建数据表 1. 用Navicat图形化创建 2. 用命令行创建 三.创建java工程 1.在eclipse中创建一个工程:Fir ...

  5. java连接MySQL几种方法_Java连接MySQL数据库三种方法

    好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...

  6. java 连接mysql工具类_java连接Mysql数据库的工具类

    一个封装好的链接Mysql数据库的工具类,可以方便的获取Connection对象关闭Statement.ResultSet.Statment对象等等 复制代码 代码如下: package myUtil ...

  7. java连接mysql数据库方法_java连接mysql数据库的方法详解

    连接mysql数据库在java中有几种常用的方式有官方提供的JDBC连接MySQL数据库也有后面我们讲到的其它的方式连接数据库,具体如下. JDBC连接MySQL数据库 首先要下载Connector/ ...

  8. Java连接Mysql(JDBC)

    Java连接Mysql JDBC (Java DataBase Connection) 是通过JAVA访问数据库. java连接mysql数据库需要第三方的类, 大多数java的类包的后缀名都是jar ...

  9. JDBC: Java连接MySQL

    文章目录 一.Java连接MySQL数据库步骤 二.JDBC基本操作:CRUD 2.1 Statement 2.2 ResultSet 之滚动结果集(了解) 2.3 示例: 查询用户 2.4 DBUt ...

  10. java linux mysql数据库_Linux Java连接MySQL数据库

    Linux(Ubuntu平台)Java通过JDBC连接MySQL数据库,与Windows平台类似,步骤如下: 解压 jdbc: tar -zxvf mysql-connector-java-5.1.1 ...

最新文章

  1. 微博平台StatusNet研究(3):友好URL与OpenID支持
  2. 【12】 全国外电音DJ 3000首 32G
  3. 聚集索引和非聚集索引的区别_武汉无疫情小区居民可在小区内非聚集性个人活动...
  4. 对于计算机维护的,关于计算机的硬件维护
  5. html 设置两个标签的相对距离_如何准确计算一div相对另一div的相对距离?
  6. 吴恩达|机器学习作业6.0支持向量机(SVM)
  7. 服务器CPU X86 ARM PowerPC RISC介绍
  8. 由echarts想到的js中的时间类型
  9. python获取某个模块文件的路径
  10. 获取客户端访问的ip地址
  11. 《计算机网络 自顶向下方法》(第7版)答案(第三章)(一)
  12. uniapp微信小程序订阅消息发送服务通知--超详细
  13. Shopify速度优化
  14. html 如何清除历史记录,如何删除网页历史记录?
  15. 【2021最新】4篇图神经网络综述论文,建议收藏!
  16. php同步登录,UCenter单点登录/同步登录/同步登出实例_PHP教程
  17. html bottom没有效果,css 设置margin-top或margin-bottom失效不取作用的解决方法
  18. Echarts图例位置 - legend属性
  19. 290万人考研:所有的不平凡,从不认命开始
  20. 计算机数据备份到u盘,技术给你说Win10系统怎么把数据备份到U盘的完全处理手段...

热门文章

  1. MogaFX外汇交易在新的BIS CBDC报告中占据中心地位
  2. 【后端-SpringCache】基于Spring Cache 封装支持Redis缓存批量操作的方式_记录下踩坑历程(pipeline或mget封装)
  3. 也许以后可以用到的东西
  4. r5 3600和r5 3600x的区别 选哪个
  5. 多个python编译器指定_python – 如何让setup.py测试使用特定的fortran编译器?
  6. 【开源电机驱动】H桥保护之反电势问题
  7. 2016中国电影票房增长跌至个位数,原因何在?
  8. batch_mini-batch_SGD
  9. 小学学生用计算机清单,小学一年级学生新学期的用品清单
  10. 2012-2020蓝桥C++ B组蓝桥杯省赛真题(第一题)