JDBC(Java语言连接数据库)
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语言连接数据库)相关推荐
- jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准
JDBC概述 API JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- Java语言写一个简单的学生信息管理系统,通过JDBC连接数据库对学生信息进行增删改查,采用三层思想和DBUtils第三方框架。
我把源代码和sql文件放GitHub上了,你们可以自行下载:https://github.com/fenglily1/student. 有问题可以留言或私信,我看到就会回. 进阶版加上页面的管理系统在 ...
- 数据库与Java语言之间的鹊桥——JDBC
JDBC基本介绍 1. 概念:(Java DataBase Connectivity) Java数据库连接,Java语言操作数据库. JDBC本质:官方(sun公司)定义的一套操作所有关系型数据库的规 ...
- JDBC学习笔记——Java语言与数据库的鹊桥
JDBC学习笔记--Java语言与数据库的鹊桥 JDBC(Java DataBase Connectivity):SUN公司提供的 一套操作数据库的标准规范,说白了就是用Java语言来操作数据 ...
- java语言体系的技术简介之JSP、Servlet、JDBC、JavaBean(Application)
前言 Java语言 Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet.JDBC.EJB四部分技术.其中还有其他的9个技术规范(JNDI,) 正文 (1).Java ...
- java代码连接数据库
jdbc的知识点: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API, 可以为多种关系数据库提供统一访问,它由一组用Jav ...
- 【学习笔记】JDBC:java提供的专门操纵数据库的API JDBC驱动程序的类型 JDBC常用的类与接口
JDBC技术 JDBC的全称是Java DataBase Connectivity,是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口,JDBC是一种底层的API,因此访问数据库 ...
- 连接mysql语言_杂谈各个语言连接数据库如何实现的-第一讲
我们都知道各个语言连接数据库都有封装好的API.比如操作MySQL,php有pdo,mysqli等,java有jdbc,c#有mysql-connector-net,nodejs也有mysql的驱动. ...
- (1 24) 3 java代码_《Java语言程序设计》测试题及参考答案(第1部分)
一.单项选择题 1.Java Applet编程时用户的Applet程序类的正确定义是哪一种 ? (1)class MyApplet extends applet{ } (2)class MyApple ...
最新文章
- 英特尔® 至强® 平台集成 AI 加速构建数据中心智慧网络
- 2019年深度学习自然语言处理最新十大发展趋势(附下载报告)
- bootstrap table 表头与内容不对齐问题解决
- VR教育进入新加坡课堂
- [YTU ]_2736指针练习--输出最大值
- 解决使用个推后背景音乐音量变小问题
- linux下如何批量替换多个文件中的某个字符串?
- Git使用教程:最详细、最傻瓜、最浅显、真正手把手教
- 二叉搜索树的深度与搜索效率图解
- 学生选课系统代码--分析1
- 同一台电脑管理多个`SSH KEY`
- 图解 Excel 添加数据透视表
- 可行性研究报告——机房收费系统
- 计算机毕业设计ssm基于vue的健康餐饮管理系统的设计与实现
- 嵌入式Linux开发环境搭建实验
- iris web框架无法加载静态文件
- 红楼梦》室内空间艺术+古代门窗及家居装饰陈设+陈设和起居及其他。
- 你不知道的声纹识别,尽在阿里聚安全攻防挑战赛!
- mysql+把正数变成负数_mysql实现负数转正数的方法
- Python数字华容道--程序实现的创意数学小游戏