当前位置:网站首页>JDBC各个类的解释
JDBC各个类的解释
2022-07-28 10:27:00 【Camellia——】
JDBC的操作步骤:
1)注册驱动
java.sql.DriverManager:驱动管理类(管理一组JDBC服务的)
注册驱动的方法:
public static void registerDriver(Driver driver):
形参传递 是接口,需要改接口的子实现类对象
提供的驱动Jar包:com.mysql.jdbc.Driver implements java.sql.Driver接口
正常的格式: (弊端:相当于注册了两次)
Driver driver = new com.mysql.jdbc.Driver() ;
// DriverManager.registerDriver(driver);
底层源码:
包名:com.mysql.jdbc
public class Driver implements java.sql.Driver {
静态代码块:加载该Driver类的同时,跟静态相关的代码先执行!
static {
try {
//使用驱动管理了注册该驱动
java.sql.DriverManager.registerDriver(new Driver());
} catch (SQLException E) {
throw new RuntimeException("Can't register driver!");
}
}
}
优化之后:使用了反射的思想:只需要加载com.mysql.jdbc.Driver该类即可!
Class.forName("com.mysql.jdbc.Driver") ;//保证版本的向下兼容,建议永远给出这句话!
2)通过驱动管理DriverManager获取数据库的连接对象:Connection(java.sql)
驱动管理类的DriverManger :管理一组JDBC服务的
public static Connection getConnection(
String url,String user,String password):获取连接
url:统一资源定位符:就是uri的一个子集
使用url:
jdbc:mysql://域名:端口号/数据库名(该库一定要存在!)
协议很多:
ftp://
http:// 域名:端口号/访问的具体请求地址
mail:邮件协议
thunder://迅雷协...
file://本地文件协议
...
uri:网络资源一种统称!
http://localhost:8080/login :URL
/login: uri
user:用户名:连接数据库的用户名称 :root
password:连接数据库的使用的密码
3)Connection:连接对象 java.sql.Connection
表示与数据库的会话(连接),可以获取当前链接数据库的元数据信息(表的结构/表的字段类型..)
成员方法:
Statement createStatement():创建Statement执行对象
并且将指定的sql发送到指定数据库中
PreparedStatement prepareStatement(String sql):将参数sql语句进行执行
发送到数据库中,并且获取预编译对象
DatabaseMetaData getMetaData():获取该数据库相关的元数据信息
包含了一些数据库以及表的结构....
4)Statement:java.sql.Statement
执行对象
执行静态的sql语句
举例:
"update account set balance = balance + 500 where id = 1;
id的值,给balance+500的值,(硬编码)
成员方法:
int executeUpdate(String sql):通用方法
针对DML语句:insert,update,delete,有返回结果的
可以执行最基本DDL语句,没有返回内容的!
ResultSet executeQuery(String sql):专门执行DQL语句:select..
返回的结果:结果集对象(数据库结果集的数据表)
5)PreparedStatement 执行对象(预编译对象) extends Statement
预编译的 SQL 语句的对象。
给参数化的sql进行赋值
sql:
insert into 表名 (name,age,gender) values(?,?,?) ; 占位符号
publi void setXXX(第几个参数,实际值) ;
ResultSet executeQuery():执行DQL语句
int executeUpdate():执行DML语句会返回结果:影响了行数
指定DDL语句,返回结果是0
6)ResultSet:查询后生成的结果集的数据表 (java.sql.xx)
边栏推荐
- Redis-day01-常识补充及redis介绍
- QT generation Exe file and run without QT environment (enigma virtual box for green executable software packaging) graphic tutorial
- An example of SQL trace in MySQL
- 乱打日志的男孩运气怎么样我不知道,加班肯定很多
- Machine learning -- handwritten English alphabet 1 -- classification process
- 6. MapReduce custom partition implementation
- Use of Ogg parameter filter [urgent]
- GKRandom
- Yan reports an error: exception message: /bin/bash: line 0: fg: no job control
- GKRidgedNoiseSource
猜你喜欢

乱打日志的男孩运气怎么样我不知道,加班肯定很多

markdown转成word或者pdf

GKVoronoiNoiseSource

GKRidgedNoiseSource

8. Detailed explanation of yarn system architecture and principle

6、MapReduce自定义分区实现

AP AUTOSAR platform design 1-2 introduction, technical scope and method
![[application of stack] - infix expression to suffix expression](/img/c1/879716342f6dd5eaa8b79c752eca16.png)
[application of stack] - infix expression to suffix expression

5、Window端实现Mapreduce程序完成wordcount功能

SQL Server 2016 learning records - single table query
随机推荐
GKSphereObstacle
ACM winter vacation training 6
Go memory model (version on May 31st, 2014)
OCR knowledge summary
How to play a ball game with RoboCup 2D
RoboCup (2D) experiment 50 questions and the meaning of main functions
The 11th Blue Bridge Cup Undergraduate group competition (20200321)
Configuring raspberry pie, process and problems encountered
ACM winter vacation training 7
试题 历届试题 发现环
GKPerlinNoiseSource
GKCoherentNoiseSource
PyQt5快速开发与实战 4.12 日历与时间
GKCheckerboardNoiseSource
Two years of crud, two graduates, two months of preparation for the interview with ALI, and fortunately won the offer grading p6
10_ UE4 advanced_ Add fall and cast actions
Excel word simple skills sorting (continuous update ~)
Uni app project directory, file function introduction and development specification
机器人技术(RoboCup 2D)如何进行一场球赛
20200217训练赛 L1 - 7 2019来了 (20分)