JDBC(Java语言连接数据库)

  • JDBC本质
    • 整体结构
    • 基层实现过程(即用记事本而不是idea)
      • 第一种实现方式
      • 第二种实现方式
  • 乐观锁和悲观锁
    • 乐观锁
    • 悲观锁

JDBC本质

整体结构

基层实现过程(即用记事本而不是idea)

第一种实现方式

(1)下载对应厂家数据库的jar包
(2)配置环境变量(用于提示运行时jar包的位置)——因为是用底层实现,所以不是用idea
(3)JDBC编程六步

1.注册驱动——传输的参数是驱动对象而不是字符串
2.获取连接
3.获取数据库操作对象
4.执行SQL语句
5.处理查询结果集
6.释放资源

第二种实现方式

第二种方式是通过Java的映射机制,将已有的数据库驱动函数映射过来使用,只需要传入字符串参数com.mysql.jdbc.Driver即可,由于所传参数是字符串,所以可以将配置信息存放到.properties中,这样方便程序员的客户自己修改配置信息等

使用这个方法需要使用资源绑定器绑定属性配置文件

//获取配置文件中的属性
ResourceBundle bundle = ResourceBundle .getBundle("jdbc");
String driver = bundle.getString("driver ");
String url= bundle.getString("url");
String user= bundle.getString("user");
String password= bundle.getString("password");//1.加载驱动
Class.forName(driver);//固定,映射机制
System.out.println("加载驱动成功!");
//2.连接
Connection connection= null;//连接对象(注意与java不同,创建对象不用new)
String dbURL = url;//ip地址、端口、数据库名
connection= DriverManager.getConnection(dbURL, user, password);

.properties文件中

serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=shejiashuai
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_test?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

乐观锁和悲观锁

乐观锁

允许并发,不过要实现互斥,类似P、V操作

过程(如有两个并发进程要更新同一条记录,此记录初始的版本号是1):
1.进程1修改记录,此时进程1记下记录更新前的版本是1
2.在进程1还没有结束的时候,进程2也要更新这条记录,并记下此时记录的版本号是1
3.进程1先更新完,记录的版本号自增变成2
4.最后进程2更新完记录,但是回来发现记录的版本号变成了2,不是它原来所记录的版本号1了,所以进程2要重新更新 新的记录

悲观锁

不允许并发,所以就没有其他麻烦事了

JDBC(Java语言连接数据库)相关推荐

  1. jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准

    JDBC概述 API JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...

  2. Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。

    我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...

  3. 数据库与Java语言之间的鹊桥——JDBC

    JDBC基本介绍 1. 概念:(Java DataBase Connectivity) Java数据库连接,Java语言操作数据库. JDBC本质:官方(sun公司)定义的一套操作所有关系型数据库的规 ...

  4. JDBC学习笔记——Java语言与数据库的鹊桥

    JDBC学习笔记--Java语言与数据库的鹊桥     JDBC(Java DataBase Connectivity):SUN公司提供的 一套操作数据库的标准规范,说白了就是用Java语言来操作数据 ...

  5. java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)

    前言 Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet.JDBC.EJB四部分技术.其中还有其他的9个技术规范(JNDI,) 正文 (1).Java ...

  6. java代码连接数据库

    jdbc的知识点: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一组用Jav ...

  7. 【学习笔记】JDBC:java提供的专门操纵数据库的API JDBC驱动程序的类型 JDBC常用的类与接口

    JDBC技术 JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口,JDBC是一种底层的API,因此访问数据库 ...

  8. 连接mysql语言_杂谈各个语言连接数据库如何实现的-第一讲

    我们都知道各个语言连接数据库都有封装好的API.比如操作MySQL,php有pdo,mysqli等,java有jdbc,c#有mysql-connector-net,nodejs也有mysql的驱动. ...

  9. (1 24) 3 java代码_《Java语言程序设计》测试题及参考答案(第1部分)

    一.单项选择题 1.Java Applet编程时用户的Applet程序类的正确定义是哪一种 ? (1)class MyApplet extends applet{ } (2)class MyApple ...

最新文章

  1. 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络
  2. 2019年深度学习自然语言处理最新十大发展趋势(附下载报告)
  3. bootstrap table 表头与内容不对齐问题解决
  4. VR教育进入新加坡课堂
  5. [YTU ]_2736指针练习--输出最大值
  6. 解决使用个推后背景音乐音量变小问题
  7. linux下如何批量替换多个文件中的某个字符串?
  8. Git使用教程:最详细、最傻瓜、最浅显、真正手把手教
  9. 二叉搜索树的深度与搜索效率图解
  10. 学生选课系统代码--分析1
  11. 同一台电脑管理多个`SSH KEY`
  12. 图解 Excel 添加数据透视表
  13. 可行性研究报告——机房收费系统
  14. 计算机毕业设计ssm基于vue的健康餐饮管理系统的设计与实现
  15. 嵌入式Linux开发环境搭建实验
  16. iris web框架无法加载静态文件
  17. 红楼梦》室内空间艺术+古代门窗及家居装饰陈设+陈设和起居及其他。
  18. 你不知道的声纹识别,尽在阿里聚安全攻防挑战赛!
  19. mysql+把正数变成负数_mysql实现负数转正数的方法
  20. Python数字华容道--程序实现的创意数学小游戏

热门文章

  1. SpringBoot基础篇(二):HelloWorld细节探究
  2. Launch Instruments
  3. Linux-破解rhel7-root密码
  4. MySQL数据库安装与配置详解
  5. 如何实现:判断数据库中某表是否有记录,若为空,则插入一条记录。若不为空则查询某记录...
  6. .NET配置文件读写实例(附SosoftConfigHelper类)
  7. 教你如何去淘便宜机票
  8. C程序设计语言上机13,《高级语言程序设计》北大上机试题(十三)
  9. 工时单位天与人天的区别?
  10. CGLib动态代理原理及实现