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经过控制循环来增删改查服务器

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/526683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java空心字木塔_我国七个千年古塔:第四个空心没有塔顶,最后一个是木塔无钉无铆...

1、崇圣寺三塔,云南大理,公元824—839年崇圣寺三塔是一个三塔三阁组成的建筑群,最大的主塔又名千寻塔。是中国现存层数最多的古佛塔,拥有16层。崇圣寺三塔历经30多次地震不倒,极其顽强。2、大雁塔,陕西西安…

java8 ie_Java8语法糖之Lambda表达式_Hudie.的博客-CSDN博客

原文作者:编程一只蝶原文标题:Java8语法糖之Lambda表达式发布时间:2021-02-16 13:08:40一、Lambda表达式简介Lambda表达式,是Java8的一个新特性,也是Java8中最值得学习的新特性之一。(另一个新特性是流式编程。)Lambda…

python中的event_Python event

最新项目游戏感用于SteelSeries GameSense 3.8.x的Python库安装这个包有两个不同的版本。一个支持普通的同步函数调用,另一个支持python的异步功能。要安装同步版本,请运 ...2021-03-02已阅读: n次此模块验证事件模块中的电话号码,就像base_p…

centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...

linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤销权限root权限高,安全性考虑,一般只允许本地(本机)访问…

采取 过滤 php_这3种php高级过滤了解一下,很实用!

在php中有很多的过滤,可以对输入的字符串进行过滤,同时也可以对邮件地址进行过滤,接下来我要讲的是php中的3种高级过滤,在开发中很实用。第一种:过滤数值范围在php经常要接收各种数据,其中数值是非常普遍的…

吃PHP小孩智力好,这7种鱼千万不能给孩子吃,会影响孩子的智力!

所以,给宝宝添加鱼类时一定要注意,有7种鱼含有大量金属元素,是千万不能给宝宝吃的!1罗非鱼罗非鱼深青色的外表有几分像鲫鱼。由于罗非鱼的成长周期较长,它们体内汞的含量也就相比其他鱼偏高,小朋友吃罗非鱼…

java监控rabbitMq服务状态,spring cloud 的监控turbine-rabbitmq的示例

前提是你已经有了注册中心,然后搭建一个基础spring cloud 服务,并配置注册服务等等前提环境搭建接下来描述的服务提供者和服务调用者的配置都是一样的,来自《spring cloud 与 docker微服务架构实战》的读后的个人总结.pom文件中需要引入spring-cloud-starter-hystrix/spring-cl…

java弹球轨迹运动解说,动态弹球的实现 加入了多线程技术-javaSE游戏准备工作

动态弹球的实现 加入了多线程技术--javaSE游戏准备工作任务描述:实现了动态弹球的功能,对于有弹球功能的SE游戏奠定了基础。package 运用线程技术的小球;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;//不清楚这个有什么用import java.util.*…

asp php 用户登录,一个简单的asp.net 单点登录实现

以下是实现的效果图:首先上图的点击火车订票链接,就会打开http://学生信息平台网站/LoginToTrainSite.asa页面。LoginToTrainSite.asa页面的大致代码如下:Response.Buffer TrueResponse.ExpiresAbsolute Now() - 1Response.Expires 0Respo…

ajax怎么发送数据给php,ajax怎么发送数据给php

在网上看了很久,发现数据的利用ajax提交数据到后台其实很简单,但是很多讲解的并不清楚,对于初学者来说,很多真的是看着有点糊涂,拿来直接用,又想去了解怎么回事,其实利用ajax提交数据到后台是非…

oracle10无法安装打开,64位win10添加oracle odbc驱动时提示无法加载oracle怎么办

对于win10 64位系统添加oracle odbc驱动时提示无法加载oracle的问题相信部分用户都应该有所了解了,但是对于如何解决这个问题的实际操作的用户来说可能不多,因此,为了帮助出现这种问题的用户,小编在这里就来教大家64位win10添加or…

linux postgresql默认安装目录,postgresql - 三种安装方式(示例代码)

最近接触了postgresql的安装,和大家分享一下。一、简 介PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS),也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。这个起源于伯克利(…

linux中央服务器,如何在Linux上搭建一个Git中央仓库

前言:本教程只面向那些个人开发者,想要自己在linux上搭建一个git中央仓库用来上传发布自己的项目。但是对于团队来说可能有更高的要求,可以使用gitlab搭建一个可视化的类似github的版本管理系统测试环境我使用的linux版本是Centos7&#xff0…

linux桌面发展方向,观点|Linux 桌面的发展之路!

Ken Starks 在 fossforce.com 网站上问 你们是如何优化 Linux 的?,我很高兴他问了这个问题,因为我有话要说!对我来说,Linux 桌面就是一连串的承诺,但是这些承诺却总是无法兑现。它在每个版本发布后都会说“…

linux常见基础服务,常用的linux命令的基本使用(一)

序号命令对应英文作用01lslist查看当前文件夹下的内容02pwdprint name of of current/working directory查看当前所在文件夹03cd[目录名]change directory切换文件夹04touch[目录名]touch如果文件不存在,新建文件05mkdir[目录名]make directory创建目录06rm[文件名]…

树莓派怎么学linux,树莓派使用入门用树莓派学 Linux

树莓派使用入门用树莓派学 Linux我们的《树莓派使用入门》的第四篇文章将进入到 Linux 命令行。在本系列的 第三篇文章 中开始了我们的树莓派探索之旅,我分享了如何安装 Raspbian,它是树莓派的官方 Linux 版本。现在,你已经安装好了 Raspbian…

全国计算机二级C语言过关要求,计算机二级考试c语言过关经验

计算机二级考试c语言过关经验考试要求考生在规定的时间内按指定的方式解答精心选定的题目或按主办方的要求完成一定的实际操作的任务,并由主办方评定其结果,从而为主办方提供考生某方面的知识或技能状况的信息。下面是小编整理的关于计算机二级考试c语言…

c语言链表贪吃蛇脚本之家,C++控制台实现贪吃蛇游戏

本文实例为大家分享了C实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下刚学完了C语言,便尝试的写了贪吃蛇的代码,但是效果不佳,很多的bug,所以,这个学了C,便重新的写了这个小游戏…

win8能开发android的sdk么,Win8下Android SDK安装与环境变量配置教程

Win8下Android SDK的安装与环境变量配置,具体内容如下1、下载Android SDK,点击安装,直接默认路径即可!进入该网站后往下拉就能找到sdk下载的位置,选择图中红圈的程序进行下载2、安装过程比较简单,按照平时安…

Android公共jar,使用JitPack管理Android项目中公共模块库

随着项目的功能越来越多,代码和模块维护也越来越复杂,为了减少主项目的代码量,一般都会将一些公共使用的类或者功能模块抽离出来,与主项目解耦分离,当主项目中需要使用的时候,直接进行引用即可。现在Androi…