jdbc235

news/2024/5/18 22:22:35 标签: jdbc

概念:java database connectivity java数据库连接 java语言操作数据库

定义了一套操作所有关系型数据库的规则(接口)

本质:其实是官方公司定义了一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包,我们可以使用这套接口(jdbc)编程,真正执行的是驱动jar包中的实现类

//1.导入驱动jar包

//2.注册驱动

Class.forName("com.mysql.cj.jdbc.Driver");

//3.获取数据库连接对象

Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/stduent","root","zt041202");

//定义sql语句

String sql="update zt235 set age=88 whereid=1;";      ----操作数据库的语言

//获取执行sql语句的对象statement

Statement stmt=conn.createStatement();

//执行sql

Int count = stmt.executeUpdate(sql);

//处理结果

System.out.println(count);

//释放资源

stmt.close();

conn.close();

 

详解对象:

1.DriverManager:驱动管理对象

功能:

1.注册驱动:

告诉程序该使用那个数据库驱动jar(注册驱动可以不写因为自带包写了)

2.获取数据库连接

方法:static connection getconnection(string url,string user ,string password)

参数:

url:指定连接的路径

语法:jdbc:mysql://ip地址(域名):端口号/数据库名称

eg:jdbc:mysql://localhost:3306/stduent

如果连接的是本机的mysql服务器,并且mysql服务默认端口是3306,那么url可以简写为:jdbc:mysql:///数据库名称

user:用户名

password:密码

 

2.Connection:数据库连接对象

功能:

1.获取执行sql的对象

  • Statement(返回对象) createstatement
  • Preparedstatement(返回对象) Preparestatement(string sql)

2.管理事务:

  • 开启事务:setautocommit(boolean autocommit):调用该方法设置为false 就是开启事务
  • 提交事务:commit()
  • 回滚事务:rollback()

 

 3.Statement:执行sql的对象

1.执行sql

  • Boolean executestring sql):可以执行任意的sql语句
  • int executeupdatastring sql):执行DML(增删改表数据)语句、DDL(创建 删除 修改表)语句
    • 返回值:受影响的行数,通过行数来判断是否执行成功sql语句
    • Resultset(结果集) executequerystring sql):执行DQLselect对表操作)语句

练习:

 

操作表的语句(rs为结果集对象)

4.Resultset:结果集对象()

  • next() 游标向下移动一行 游标最开始在最上面一行并且判断是否是最后一行,如果返回false就是没有数据了
  • getxxx(参数):获取数据
    • xxx:代表数据类型 eg:int getint() string getstring()
    • 参数:
      • Int :代表列的编号 从1开始
      • string:代表列名称 getdouble(“name”)
  • 注意:
    • 游标向下移动一行
    • 判断是否有数据
    • 获取数据

5.Preparedstatement:执行sql对象

 

在catch里面进行事务回滚

 


http://www.niftyadmin.cn/n/4989860.html

相关文章

任务执行和调度----Spring线程池/Quartz

定时任务 在服务器中可能会有定时任务,但是不知道分布式系统下次会访问哪一个服务器,所以服务器中的任务就是相同的,这样会导致浪费。使用Quartz可以解决这个问题。 JDK线程池 RunWith(SpringRunner.class) SpringBootTest ContextConfi…

2023年7月京东笔记本电脑行业品牌销售排行榜(京东数据平台)

随着智能手机、平板电脑等移动互联设备的普及,人们对于个人电脑的依赖减轻,加之电脑的更换率较低,因此当前PC端消费市场整体出现疲态,笔记本电脑的出货量不断下降,今年7月份也同样呈现这一趋势。 根据鲸参谋电商数据分…

macOS Sonoma 14beta 7(23A5337a)更新发布,附黑/白苹果系统镜像

系统介绍(镜像请前往黑果魏叔官网下载) 黑果魏叔8 月 31 日消息,苹果今日向 Mac 电脑用户推送了 macOS 14 开发者预览版 Beta 7 更新(内部版本号:23A5337a),本次更新距离上次发布隔了 8 天。 …

MyBatis——MyBatis插件原理

摘要 本博文主要介绍MyBatis插件机原理,帮助大家更好的理解和学习MyBatis。 一、插件机制概述 MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis允许使用插件来拦截的方法调用包括: Executor (update, que…

Android 华为手机荣耀8X调用系统裁剪工具不能裁剪方形图片,裁剪后程序就奔溃,裁剪后获取不到bitmap的问题

买了个华为荣耀8X,安装自己写的App后,调用系统裁剪工具发现裁剪是圆形的,解决办法: //专门针对华为手机解决华为手机裁剪图片是圆形图片的问题 if (Build.MANUFACTURER.equals("HUAWEI")) {intent.putExtra("aspectX", 9998);intent.putExtra("a…

LeetCode-134-加油站-贪心思路

题目描述: 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数…

延长Flash存储器使用寿命的研究

发布时间:2009年12月15日   引 言 随着嵌入式系统在数码相机、数字摄像机、移动电话、MP3音乐播放器等移动设备中越来越广泛的应用,Flash存储器已经逐步取代其他半导体存储元件,成为嵌入式系统中主要数据和程序载体。Flash存储器又称闪存&…

centos7部署时间同步(ntp)服务器

centos7部署时间同步(ntp)服务器 这里搭建ntp服务器,服务端和客户端,客户端去拉取服务端的时间,为自己所用。 小白教程,一看就会,一做就成。 1.服务端搭建 a.安装ntp yum -y install ntp* …