JDBC浅应用
1 DriverManager: 此类管理数据库驱动程序列表。使用通信协议将来自java应用程序的连接请求与适
2 当的数据库驱动程序匹配。
3
4 Driver:此接口处理与数据库服务器的通信,我们很少会直接与Driver对象进行交互。而是使用
5 DriverManager对象来管理这种类型的对象。
6
7 Connection:该接口具有用于连接数据库的所有方法。连接对象表示通信上下文,数据库的所有通信
8 仅通过连接对象。
9
10 Statement:使用从此接口创建的对象将SQL语句提交到数据库。用于对数据库进行通用访问。在运行时使用静态SQL语句时很有用。Statement接口不能接受参数。
11
12 PreparedStatement 多次使用SQL语句时使用。PreparedStatement接口在运行时接
13 受输入参数。
14
15 ResultSet:在使用Statement对象执行SQL查询后,这些对象保存从数据库检索的数据。它作为一个迭
16 代器,允许我们移动其数据。
17
18 SQLException:此类处理数据库应用程序中发生的任何异常。
使用jdbc,注册用户信息;并且打印成功还是失败到控制台:
刚开始的user_info表

1 public static void main(String[] args) {
2
3 // 注册用户 往外面uesr-info表里面插入一条记录
4
5 System.out.println("请输入用户名");
6 Scanner scan = new Scanner(System.in);
7 String name = scan.next();
8
9 System.out.println("请输入密码");
10 String pass = scan.next();
11
12 StringBuilder ss = new StringBuilder();
13 ss.append("insert into user_info(uname,upass)values('").append(name).append(" ', ").append(pass).append(" )");
14
15 System.out.println(ss.toString());
16
17 // 注册
18 try {
19 Class.forName("com.mysql.jdbc.Driver");
20
21 Connection connection = DriverManager.getConnection(url, user, password);
22 Statement statement = connection.createStatement();
23 int result = statement.executeUpdate(ss.toString());
24
25 if (result > 0) {
26 System.out.println("注册成功");
27 } else {
28 System.out.println("注册失败");
29 }
30 statement.close();
31 connection.close();
32
33 } catch (Exception e) {
34 // TODO Auto-generated catch block
35 e.printStackTrace();
36 }
37
38 }
结果:


使用jdbc根据用户id修改用户名称:
1 public static void main(String[] args) {
2
3 // 根据用户id修改用户名称
4
5 System.out.println("请输入你要修改的用户id");
6 Scanner scan = new Scanner(System.in);
7 String id = scan.next();
8
9 System.out.println("请输入你要修改的用户名");
10 String name = scan.next();
11
12 // ? 占位符
13 String sql = "update user_info set uname=? where uid=?";
14
15 // 预处理SQL语句,这个操作数据库的对象,比较智能
16 // 会根据我们的参数,自己来给SQL进行预处理
17
18 try {
19 Class.forName("com.mysql.jdbc.Driver");
20
21 Connection connection = DriverManager.getConnection(url, user, password);
22
23 // 获取一个操作数据库的对象;获取一个预处理的对象
24 // statement 只能执行静态的sql
25 // PreparedStatement 自己放参数,自己调用
26 PreparedStatement ps = connection.prepareStatement(sql);
27
28 // 给SQL语句里面的占位符进行赋值
29 ps.setString(1, name);// 给SQL第一个问号赋值
30 ps.setInt(2, Integer.parseInt(id));// 给第二个赋值
31
32 // 执行SQL
33 int ex = ps.executeUpdate();// 不要加SQL
34 if (ex > 0) {
35 System.out.println("修改成功");
36 } else {
37 System.out.println("修改失败");
38 }
39
40 ps.close();
41 connection.close();
42
43 } catch (Exception e) {
44 // TODO Auto-generated catch block
45 e.printStackTrace();
46 }
47
48 }
结果:


JDBC浅应用的更多相关文章
- 浅谈JDBC访问MySQL数据库
经过我自己的总结后,其实很简单,只需要记住四个步骤,JDBC这部分的学习就可以掌握差不多了,请多多指教. 加载注册JDBC驱动: 打开数据库: 创建向数据库发送sql语句的statement: Res ...
- 浅谈JDBC编程
一.概述 1.为什么要用JDBC 数据库是程序不可或缺的一部分,每一个网站和服务器的建设都需要数据库.对于大多数应用程序员(此处不包含数据库开发人员)来说,我们更多的不是在DBMS中对数据库进行操纵, ...
- 浅谈JDBC(二)
JDBC中的事务 简单来说,事务就是要保证一组DAO方法的操作,要么一起成功要么一起失败. 1.事务控制的位置 在Service中的业务方法内进行事务控制. 2.事务控制的代码 a.注意:JDBC会自 ...
- 浅谈JDBC(一)
一.JDBC技术引言 1.什么是JDBC技术 提供了一套接口规范,利用java代码进行数据库操作. 2.JDBC技术的核心思想 对于程序员来说,代码访问数据库分为三个步骤:1.通过数据库的账号密码.2 ...
- 浅谈数据库技术,磁盘冗余阵列,IP分配,ECC内存,ADO,DAO,JDBC
整理-----数据库技术,磁盘冗余阵列,IP分配, ECC内存,ADO, DAO,JDBC 1.MySQL MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发.发布和支持.My ...
- 【jdbc】连接数据库从浅入深
一.回想 还记得以前自学的时候,刚接触到数据库,讲解的连接数据库的最基本的理论知识和方法,现在温习一下基础知识并总结如下! 1.JDBC连接数据库的基本流程 加载JDBC驱动程序 —> 提供JD ...
- 注册mySQL到JDBC驱动程序方法浅谈
一.注册方法(4种) 1)服务提供者框架: 符合JDBC 4.0规范的驱动程序包含了一个文件META-INF/services/java.sql.Driver,在这个文件中提供了JDBC驱动实现的类名 ...
- 浅入浅出JDBC————1分钟了解JDBC
一.了解基本的几个jdbc需要的类 1.1DriverManager类 DriverManager类是一个jdbc的驱动服务类.通常使用该类获得一个Connection对象,得到一个数据库的链接. 1 ...
- 浅谈sharding jdbc
定位为轻量级Java框架,在Java的JDBC层提供的额外服务. 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架. ...
- 浅谈了解JDBC
目录 前言 作用 JDBC的架构 步骤 JDBC常见的关键字解释 前言 Java数据库连接,是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.J ...
随机推荐
- docker中 启动所有的容器命令
docker中 启动所有的容器命令 docker start $(docker ps -a | awk '{ print $1}' | tail -n +2) docker中 关闭所有的容器命令 ...
- CS硕士全日制考研资料(含完整复习计划)
择校信息 华东师范 2021招生专业考试科目:https://yjszs.ecnu.edu.cn/system/sszszyml_list.asp 计算机科学与技术:https://yjszs.ecn ...
- Linux脚本-自动ping网址列表
背景 公司某一项业务需要管理多种类硬件,有一些硬件的管理功能没有实现前台展示,检测和硬件之间的网络连接状况需要通过ping每个ip地址来单独实现.在需要大规模调试网络的时候,每个硬件单独ping就显得 ...
- 【单片机】滑稽AT89C52表情实现
[单片机]滑稽AT89C52表情实现 零.原因 在群里看到了这样一个表情: 这是用51做的,刚好开发板上有8个小灯,想实现一下. 一.代码 新建工程,写入如下代码: #include<reg52 ...
- 《机器人SLAM导航核心技术与实战》第1季:第3章_OpenCV图像处理
<机器人SLAM导航核心技术与实战>第1季:第3章_OpenCV图像处理 视频讲解 [第1季]3.第3章_OpenCV图像处理-视频讲解 [第1季]3.1.第3章_OpenCV图像处理_认 ...
- 使用 AutoGen Studio 打造你的私有团队
AI Agent 无疑是今年最火爆的概念,从科技巨头的战略布局到创业公司的创新产品,AI 智能体正在重塑我们与机器交互的方式.无论是自动化任务.个性化服务,还是复杂问题的协同解决,AI Agent 都 ...
- Web前端入门第 29 问:CSS 盒模型:网页布局的基石
在 Web 网页开发中,盒模型(Box Model) 是 CSS 的核心概念,它决定了每个 HTML 元素在页面中占据的空间和布局方式. 无论是文本.图片还是按钮,浏览器都会将它们视为一个矩形盒子,并 ...
- PyInstaller 常用用法
PyInstaller 常用用法 PyInstaller 是一个跨平台的 Python 应用打包工具,支持 Windows/Linux/MacOS 三大主流平台,能够把 Python 脚本及其所在的 ...
- 使用Python计算汉密尔顿路径
引言 在图论中,汉密尔顿路径(Hamiltonian Path)是一个经典问题,它在很多实际应用中都有广泛的应用,如网络路由.旅行商问题等.今天,我们将一起探讨如何使用 Python 来计算汉密尔顿路 ...
- 为什么 Java 的垃圾收集器将堆分为老年代和新生代?
为什么 Java 的垃圾收集器将堆分为老年代和新生代? Java 垃圾收集器通过将堆内存划分为 新生代 和 老年代,优化了内存管理,提高了垃圾回收的效率.这种分代思想是基于 对象生命周期的特点. 1. ...