使用JDBC操作数据库时对各个语句理解的意思

这篇具有很好参考价值的文章主要介绍了使用JDBC操作数据库时对各个语句理解的意思。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里列举了使用JDBC操作数据库时我对各个语句理解的意思,如有错误请指正。

目录

碰到的null

Connection conn = null;

PreparedStatement ptst = null;

ResultSet rs = null;

if (rs != null) {rs.close();}

编码问题

request.setCharacterEncoding("UTF-8");

response.setContentType("text/html;charset=UTF-8");

驱动连接问题

Class.forName(driver);

conn = DriverManager.getConnection(url,user,password);

conn = new ConnectionMethod().ConnectionGet();

文本问题

e.printStackTrace();

PrintWriter out = response.getWriter();

异常

SQLException e

Statement对象的使用

Statement

st = conn.createStatement();

rs = st.executeQuery(selectUsername);

ptst = (PreparedStatement)

            conn.prepareStatement(selectPassword);

ptst.setString(1, loginName);

rs = ptst.executeQuery();

passwordList.add(rs.getString(1));

强制刷新

flush();


碰到的null

Connection conn = null;

PreparedStatement ptst = null;

是使用懒加载减少内存浪费。就是等到它们没被使用时,java垃圾回收机制能将该部分内存释放

ResultSet rs = null;

  1. 这句话一般声明在try catch块外,然后再在try catch块里面初始化
  2. 声明在外边是为了可以在最后关闭rs,完成资源释放。

if (rs != null) {rs.close();}

这句话一般放在后面,是因为数据库资源允许的并发访问连接数量有限,因此,当数据库资源使用完毕后,一定要释放资源。每一次查询后要关闭rs,不然连接数据库时就会报错。


编码问题

request.setCharacterEncoding("UTF-8");

设置请求编码

response.setContentType("text/html;charset=UTF-8");

设置响应方式和编码


驱动连接问题

Class.forName(driver);

  1. 是使用纯java驱动连接mysql数据库,加载驱动程序到java解释器中。根本目的就是为了调用DriverManager.registerDriver,加载要连接数据库的驱动程序。
  2. 一般在后面会写一个ClassNotFoundException e的异常类,这个是在运行时找不到所需的类的异常,也就是如果Class.forName(driver);找不到相关驱动,该异常类就会报异常。

conn = DriverManager.getConnection(url,user,password);

  1. 是DriverManager类跟踪已注册的驱动程序,通过getConnection(URL)方法, 找到一个能够连接至URL中指定的数据库驱动程序。

conn = new ConnectionMethod().ConnectionGet();

  1. 即调用ConnectionMethod类的ConnectionGet()方法,从而获取与数据库的链接,一般写在一个Servlet里,这样就可以调用外面的连接类。
  2. ConnectionMethod类你也可以改名成其他的,只是我这里写成这个名字。

文本问题

e.printStackTrace();

经常出现在异常类中,是在命令行打印异常信息在程序中出错的位置及原因。

PrintWriter out = response.getWriter();

  1. out是一个PrintWriter对象,该对象可以将字符文本返回给客户端。
  2. 这个字符打印流使用返回的字符编码getCharacterEncoding()。如果响应的字符编码没被指定,也就是获取编写器会将编码格式确定为默认返回的ISO-8859-1编码格式。
  3. 如果发生输入或输出异常会被java.io.IOException捕获

异常

SQLException e

实例化SQLException类型的对象,当try块出现异常时就捕捉异常并做响应的处理。


Statement对象的使用

Statement

是 Java执行数据库操作的一个重要方法,用于在已经建立数据库连接的基础上,向数据库发送要执行的SQL语句。

st = conn.createStatement();

是用createStatement()创建一个 Statement 对象,为了将下面传入的 SQL 语句发送到数据库

rs = st.executeQuery(selectUsername);

这里的selectUsername是我写的一个String类型的sql语句,发送该sql语句到数据库后执行,后从数据库返回得到结果集rs。

ptst = (PreparedStatement)

            conn.prepareStatement(selectPassword);

  1. 这里的selectPassword是我写的一个String类型的sql语句,prepareStatement()会将我的该条SQL语句发送给数据库预编译,PreparedStatement会引用着预编译后的结果,这个结果就是ptst
  2. 可以给PreparedStatement对象多次传入不同的参数并执行。
  • 使用该方法可以减少SQL编译次数,提高效率。
  • 使用该方法安全性更高,没有SQL注入的隐患。

ptst.setString(1, loginName);

        设置ptst参数,即为第一个参数设置一个string 类型的值,设置的值为loginName。

rs = ptst.executeQuery();

        使用java环境自带的执行查询的方法executeQuery()查询当前loginName下的内容,返回ResultSet 集合rs

passwordList.add(rs.getString(1));

是获取结果集中第一列的数据。如果你写成2就是获取第二列的数据。


强制刷新

flush();

  1. 英文名是刷新的意思,它可以提交PrintWriter的响应。
  2. IO流也有缓冲区这种东西,对于输出,较短的字符序列格式化之后并不马上输出,而是保存在缓冲区里,待累积到一定规模之后再传递到外部设备。而flush() 是要求立即将缓冲区的数据输出到接收方,从而清空缓冲区,也就是强制刷新。这样做可以防止没有调用flush();就直接调用close()方法关闭读写流而造成的数据丢失。

JDBC确实有很多需要学习的地方,需要不断钻研不断学习。文章来源地址https://www.toymoban.com/news/detail-477144.html

到了这里,关于使用JDBC操作数据库时对各个语句理解的意思的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java基础 - JDBC操作数据库(MySql)

    JDBC是Java语言操作数据库的一套接口,也就是规范,具体的实现需要各个数据库厂商去实现。比如我们在使用JDBC去连接mySql数据库的时候,我们必须要依赖一个叫做mysql-connector-java的jar包,这里面封装的就是mySql对于JDBC的实现。 Java中使用JDBC 首先引入mysql-connector-java依赖,比如

    2024年01月25日
    浏览(63)
  • MySQL数据库之JDBC编程(从认识到操作)

    目录 前言 一.JDBC的认识 1.1JDBC的来源 1.2JDBC的概念 二.JDBC的导包  三.JDBC的四步操作 三.JDBC常用的类和方法  3.1常用类 3.2常见方法 🎁个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主 🎥 本文由 tq02 原创,首发于 CSDN🙉 🎄 本章讲解内容: JDBC的详细讲解 🎥学习

    2024年02月15日
    浏览(46)
  • 数据库操作语句

    一,SQL分类         DDL:数据定义语言         DML:数据操纵语言         DQL:数据查询语言         DCL:数据控制语言 创建数据库和表         字段限制有以下两种:                 not null 不允许为空                 default\\\'a\\\'  默认为a,a可以改为其他,不写则默

    2024年02月11日
    浏览(45)
  • [Java Web]JDBC->Java操作MySQL数据库

    目录 1、简介 1.1、背景 1.2、概念 1.3、驱动程序 2、JDBC的优点 3、使用步骤 3.1、操作流程 3.2、代码步骤 3.3、实例演示 3.3.1、创建空工程 3.3.2、指定项目的名称以及存放路径 3.3.3、设置项目的JDK版本和编译版本 3.3.4、创建模块 3.3.5、⭐导入MySQL驱动包 3.3.6、⭐创建Java类 4、API详

    2024年02月03日
    浏览(68)
  • 数据库应用:MySQL数据库SQL高级语句与操作

    目录 一、理论 1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.MySQL中6种常见的约束 二、实验  1.克隆表与清空表 2.SQL高级语句 3.SQL函数 4.SQL高级操作 5.主键表和外键表  三、总结 克隆表:将数据表的数据记录生成到新的表中。 (1)克隆表 ① 先创建再导入 ② 创建

    2024年02月13日
    浏览(81)
  • 用SQL语句操作Oracle数据库——数据更新

    数据库中的数据更新操作有3种:1)向表中添加若干行数据(增);2)删除表中的若干行数据(删);3)修改表中的数据(改)。对于这3种操作,SQL语言中有3种相应的语句与之对应。接下来让我们逐一详细地了解一下。 本文我们依然使用以下三个表来进行数据更新操作:

    2024年01月19日
    浏览(67)
  • java通过JDBC连接mysql8.0数据库,并对数据库中的表进行增删改查操作

    目录 一、JDBC简介 二、添加依赖 三、JDBC操作数据库的步骤 四、JDBC操作数据库——增删改查 (一)新增数据 (二)删除数据 (三)修改数据 (四)查询数据 (五)多表连接查询         Java数据库连接,(Java Database Connectivity,简称JDBC)是java语言中用来规范客户端程序如何来访问数

    2024年02月03日
    浏览(149)
  • eclipse使用jdbc连接数据库

    下载和mysql对应版本的jar包。 我的mysql下载的8.0.13版本的,所以下载8.0.13的jar包。官网下载地址: https://dev.mysql.com/downloads/connector/j/?os=26 (如果需要下载历史版本,点击 archievs) 下载之后,解压目录,获得jar包。 导入jarb包。 第一步:在eclipse中新建工程JDBC,建立一个lib目录

    2024年02月11日
    浏览(52)
  • MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月08日
    浏览(82)
  • MySQL数据库概念、管理以及SQL语句的基本命令操作

    数据(data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一格式进行存储(记录可以看成一条记录) 表 将不同的记录组织在一起 用来存储具体数据 记录:行 字段(属性):列 以行+列的形式就组成了表(数据存储在表中) 数

    2024年02月08日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包