当前位置: 首页 > news >正文

jdbc235

概念: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.lryc.cn/news/148332.html

相关文章:

  • 库仑定律和场强
  • Android安卓实战项目(13)---记账APP详细记录每天的收入和支出并且分类统计【生活助手类APP】强烈推荐自己也在用!!!(源码在文末)
  • 嵌入式开发之syslog和rsyslog构建日志记录
  • Jaeger的经典BUG原创
  • 四款简洁好看 自适应的APP下载单页源码
  • 【服务器】交换机带外管理和带内管理
  • Kotlin的内置函数 apply、let、run、with、also
  • 2023年人工景点行业研究报告
  • react轮播图
  • Openlayers 叠加天地图-中国近海海洋等深面图层服务
  • uniapp移动端h5设计稿还原
  • 后端数据配置相对路径,前端添加网站根 URL (根路径)- js获取网站项目根路径- 获取根路径后的第一个斜杠前 / 的项目- - 判断url包含某字符串
  • deepspeed多机多卡并行训练指南
  • 9.Redis-zset
  • 云计算的三个主要服务模型:IaaS、PaaS 和 SaaS
  • spring ioc,DI,AOP概述
  • meethigher-Apache Poi 实现Excel多级联动下拉框
  • 基于食肉植物算法优化的BP神经网络(预测应用) - 附代码
  • FFDNet-pytorch版本代码训练教程
  • C语言练习7(巩固提升)
  • golangORM框架Gorm
  • Python项目实战之《飞机大战游戏》
  • Mysql数据库(2)—事务和锁
  • Shell - 加固系统配置
  • 【linux】记录archlinux软件包更新后lualatex无法编译的一种解决方案
  • 设计模式中的关系
  • C语言之数组题
  • DbContext是Entity Framework中的一个核心类
  • BTC价格预测:灰度突如其来的胜利是否会打破“九月魔咒”?
  • 软件测试/测试开发丨Selenium 高级控件交互方法