java jdbc 详解_JDBC概述及详解各个对象

JDBC(Java DataBase Connectivity)详解

一.概念:

JDBC是一种可执行SQL语句的JavaAPI,Java数据库链接,Java语言操做数据库mysql

二.本质:

JDBC是一种可用于执行SQL语句的Java API,由一些Java语言编写的类和页面组成。各个数据库厂商能够使用这套接口编程,真正执行的是驱动jar包中的实现类。web

三.步骤:

导入驱动jar包

复制jar包到项目的libs目录下

右键–>add as library

2.注册驱动

3 获取数据库链接对象connection

4.定义sql语句

5.获取执行sql语句的对象Statemen

6.执行sql,接受返回结果

7.处理结果

8.释放资源

6375bc2a322067958afcd722f3125740.png

详解各个对象

1.DriverManager:驱动管理对象

方法:static Connection getConnection()

参数:URL:指定链接路径 user:用户名 password:密码

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

例子:jdbc:mysql://localhost:3306

细节:若是链接的是本机的服务器,则可省略数据库的ip地址和端口。

2.Connection:数据库链接对象

功能:获取执行sql的对象

createStatement()

JDBC控制事务

1.事务:一个包含了多个步骤的业务操做,若是这个业务操做被事务管理,则这个步骤要么同时成功,要么同时失败。

2.操做:

(1)开启事务setAutocommit(blloean autocommit):调用该方法设置参数为false,即开启事务。

(2)提交事务commmit()

(3) 回滚事务rollback()

3.使用connection对象来管理事务sql

3.Statement:执行sql的对象

执行sql的方法(要注意其不一样的返回值类型)

(1)boolean execute(String sql):能够执行任意的sql

(2)int executeUpdate(String sql):

*返回值为影响的行数,能够经过影响行数来判断DML语句是否执行成功,返回值>0则执行成功

4.PrepareStatement:执行SQL的对象

发现SQL注入问题:在拼接SQL时,有一些SQL的特殊关键字参与字符串的拼接,会形成安全性问题

解决方法:PrepareStatement继承于prepareStatement

预编译的SQL:参数使用占位符?数据库

步骤:

1.导入驱动jar包

2.注册驱动

3.获取数据库对象Connection

4.定义SQL

5.获取执行SQL的对象

6.给?赋值

- 方法:setXxx()

- 参数一:?的位置编号,从1开始(第?个?)

- 参数二:?的内容,根据内容肯定所使用的方法类型,如若?内是int型,则采用的方法是getInt。

7.执行SQL,接收返回结果,不须要sql

8.处理结果

9,释放资源

二者关系:PreparedStatement接口继承自Statement,继承了其全部功能,另外还添加了一整套方法,用于发送设置给数据库以取代IN参数占位符。

Statement

PrepareStatement

通用查询

参数化查询

先初始化SQL语句,再提交到数据库中预处理

从零开始执行SQL

定义sql语句

包含的SQL具备一个或多个IN参数,留?做为占位符

执行SQL方法时须要传入SQL语句作参数

执行sql方法无需传参

相同点:二者均由Connection类对象建立 ,执行步骤大自相同。编程

注意:应该先编译SQL语句,再传递占位符表明的参数,顺序颠倒则报错安全

79b51c3c2c62645a9182dfff70c84254.png

b238a0ef0813230d95c0e179b53198e6.png

5.ResultSet:结果集对象。封装查询结果

next():游标向下移动一行

getXxx():获取数据

*Xxx:表明数据类型

*参数:如getInt()

1.int:表明列标号,从1开始

2.String:表明列名称

使用步骤:

1.游标向下移动一行

2.判断是否有数据(可t循环来判断)

3.获取数据

1357956924d3dc12678f7d52d46b4d34.png

如上图,ResultSet经过控制循环来增删改查服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值