使用JDBC操作MySQL数据库
一、JDBC简介
JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。使用JDBC访问数据库的基本步骤如下:
1、加载JDBC驱动程序
2、建立数据库连接
3、创建操作数据库SQL的对象
4、执行语句并分析执行结果
5、关闭连接
在使用JDBC操作数据库之前,我们需要先向项目中加入JDBC驱动文件,将其放到项目中的lib文件夹下即可。
放入JDBC驱动文件(下)后,eclipse会自动将其加载到项目中(上)。
二、使用JDBC访问MySQL数据库
我们在MySQL数据库中建立了test库,test库中含有test表,表中的数据如下:
1、通过Statement对象执行静态SQL语句
package test; import java.sql.*; //导入Java提供的数据库操作包 public class MySql {
public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai"; //数据库连接地址,此处表示连接本机3306端口的MySQL数据库里的test库,使用上海时区
Connection con;
Statement statement;
ResultSet rs;
int i;
String string; try {
Class.forName("com.mysql.cj.jdbc.Driver"); //加载JDBC驱动程序
con = DriverManager.getConnection(url, "root", "root"); //建立与数据库的连接,后两个参数分别为账号和密码
statement = con.createStatement(); //创建Statement对象 rs = statement.executeQuery("select * from test"); //执行sql查询语句,返回结果集
System.out.println("查询结果为:");
while(rs.next()) { //循环操作结果集
string = rs.getString("id") + "——" + rs.getString("name");
System.out.println(string);
} i = statement.executeUpdate("insert into test value(4,'wxc')"); //执行sql更新语句,返回影响行数
System.out.println("影响行数为:" + i); rs.close(); //关闭结果集
statement.close(); //关闭Statement对象
con.close(); //关闭与数据库的连接
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行结果如下:
2、通过PreparedStatement对象执行预编译SQL语句
public class MySql { //大部分操作与执行静态SQL语句类似,相同部分此处不再赘述
public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai";
Connection con;
String sql;
PreparedStatement preparedStatement;
ResultSet rs;
int i;
String string; try {
Class.forName("com.mysql.cj.jdbc.Driver");
con = DriverManager.getConnection(url, "root", "root"); sql = "select * from test where id = ?"; //编写sql查询语句,问号为占位符,之后会被参数取代
preparedStatement = con.prepareStatement(sql); //创建PreparedStatement对象
preparedStatement.setString(1, "3"); //设置参数,第一个参数表示选择第几个占位符,第二个参数表示要输入的值
rs = preparedStatement.executeQuery();
System.out.println("查询结果为:");
if(rs.next()) {
string = rs.getString("id") + "——" + rs.getString("name");
System.out.println(string);
} sql = "delete from test where id = ?";
preparedStatement = con.prepareStatement(sql);
preparedStatement.setString(1, "3");
i = preparedStatement.executeUpdate();
System.out.println("影响行数为:" + i); rs.close();
preparedStatement.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
执行结果如下:
使用JDBC操作MySQL数据库的更多相关文章
- JDBC操作MySQL数据库案例
JDBC操作MySQL数据库案例 import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepared ...
- Java使用Jdbc操作MySql数据库(一)
这个示例是Java操作MySql的基本方法. 在这个示例之前,要安装好MySql,并且配置好账户密码,创建一个logininfo数据库,在数据库中创建userinfo数据表.并且在表中添加示例数据. ...
- 原生Jdbc操作Mysql数据库开发步骤
原生Jdbc操作Mysql数据库开发步骤 原生的Jdbc就是指,不使用任何框架,仅用java.sql包下的方法实现数据库查询等的操作. 下面是开发步骤: 1.导入数据库驱动包 ...
- java数据库 JDBC操作MySQL数据库常用API 部门表和员工表 创建表 添加数据 查询数据
package com.swift.department; import java.sql.Connection; import java.sql.PreparedStatement; import ...
- JavaWeb用Jdbc操作MySql数据库(一)
一.添加开发包.在JavaWeb中用jdbc操作数据库,使用方法与java一样,但是在处理开发包的问题上有点差别.JavaWeb不能将mysql-connector-java-5.1.7-bin.ja ...
- 原生jdbc操作mysql数据库详解
首先给大家说一下使用JDBC链接数据库的步骤 1.加载链接数据库驱动 2.建立数据库链接 3.创建数据库操作对象 4.编写sql语句,执行sql语句 5.获取结果集 6.释放资源 我这边采用的是mav ...
- Java学习笔记(十一)——通过JDBC操作mysql数据库
[前面的话] 时间总是好快,每次都感觉还没有怎么好好去过,对于好多事情,希望自己可以做的更多一点.心情能够好一点,平淡一点就行了. 学习过程中的知识点总结,基础知识,选择阅读. [JDBC定义] 定义 ...
- Java第三十五天,用JDBC操作MySQL数据库(一),基础入门
一.JDBC的概念 Java DataBase Connectivity 从字面意思我们也不难理解,就是用Java语言连接数据库的意思 JDBC定义了Java语言操作所有关系型数据库的规则(接口).即 ...
- JavaEE系列之(三)JDBC操作MySQL数据库
一.JDBC简介 JDBC(Java Data Base Connectivity)java数据库连接 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库 ...
随机推荐
- Unix 和· Linux 系统概述
一.Unix 1.Unix 定义 Unix 是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序 '2.Unix 特点 ① 多用户:在同一时刻可以有多个用户同时使用Unix操作 ...
- ubuntu 命令整合1
一.linux命令基本格式 命令名[选项] [参数] 注意: 命令名区分字母大小写 命令名必须有 选项.参数可以没有,选项一般使用减号开头二.具体Linux命令 1.who 显示登录系统中的用户的信息 ...
- 工作中常用的JS函数整理分享(欢迎大家补充)
今年在渣X工作整理的常用JS函数 今年来了渣X工作,我所在这个部门分工很奇怪,CSS竟然有专门的人在搞,开发PHP的人员需要处理JS,以至于有时候开发起来不是那么得心应手,感觉把JS和CSS拆开就像是 ...
- css基础--深入理解弹性盒flex布局
欢迎访问我的个人博客:http://www.xiaolongwu.cn 1. 前言 flex弹性盒,是一种布局方式,当页面需要适应不同的屏幕大小以及设备类型时,它依然能确保元素 拥有更恰当的排布行为, ...
- Window 下mysql binlog开启及查看,mysqlbinlog
查看是否开启了binlog: win+r => cmd => 连接mysql=>show variables like 'log_%'; mysql> show variabl ...
- EasyUI集成Kindeditor使用
在实际的项目中,我们需要在项目中集成富文本编辑器,而kindeditor作为一款优良的编辑器,在项目中或多或少都会用到! 实际效果图 使用方法: 1.首先下载Kindeditor编辑器,我这里 ...
- eclipse汉化链接
百度百科 https://jingyan.baidu.com/article/4b07be3cb1864e48b380f315.html 博客园:http://blog.csdn.net/sunny_ ...
- Java公开课-02.抽象类和接口
在讲述抽象类和接口之前,扯点别的:封装,继承,多态,我只做个简单的涉略 一,封装 1.体现: 将变量和方法放到一个类中 私有字段封装成共有属性 2.this: 如果发现成员变量的名称和方法参数的名称相 ...
- 创建的UIWindow为何不显示
一.window创建方法不同,导致window的显示不同 1.window创建,但是不会显示 UIWindow *myWindow3 = [[UIWindow alloc] initWithFrame ...
- datetime日期和时间
datetime是Python处理日期和时间的标准库. from datetime import datetime # 获取当前时间 now = datetime.now() print(now) # ...