当前位置: 首页 > news >正文

中堂网站建设大地资源网在线观看免费

中堂网站建设,大地资源网在线观看免费,佛山建网站定制费用,怎么做企业网站优化文章目录 前言一、PrepareStatement类是什么#xff1f;二、实操展示 1.增2.删3.改4.查总结 前言 既然连接数据库都可以通过java语言实现#xff0c;那么通过java语言对数据库进行增删改查的操作自然是顺理成章的事情了。 一、PrepareStatement类是什么#xff1f; PrepareS…文章目录 前言一、PrepareStatement类是什么二、实操展示 1.增2.删3.改4.查总结 前言 既然连接数据库都可以通过java语言实现那么通过java语言对数据库进行增删改查的操作自然是顺理成章的事情了。 一、PrepareStatement类是什么 PrepareStatement类是Java JDBC API中的一个类用于执行预编译的SQL语句。这个类实现java语言增删改查数据库的功能。它是Statement的子接口提供了更高级别和更灵活的功能。所以在编译SQL语句的时候不要使用Statement类直接使用它的子接口吧 通过使用PrepareStatement类可以先将SQL语句发送到数据库进行编译然后可以重复执行该语句并且可以使用参数化查询和批处理等高级功能。 PrepareStatement类可以防止SQL注入攻击提高性能并且可以方便地处理不同类型的数据。 SQL注入攻击以statement类为例当使用Statement对象执行动态拼接SQL语句时如果不对用户输入进行正确的过滤和转义攻击者可以通过构造恶意的“密码进行输入来修改或执行未经授权的SQL语句。利用转义漏洞绕过了账号密码直接访问并可以攻击数据 PrepareStatement的构造方法 connection.PrepareStatement(String sql); //创建一个新的PrepareStatement对象以指定的SQL语句初始化。connection.PrepareStatement(String sql, int autoGeneratedKeys); //创建一个新的PrepareStatement对象以指定的SQL语句和生成的键标志初始化。connection.PrepareStatement(String sql, int[] columnIndexes); //创建一个新的PrepareStatement对象以指定的SQL语句和列索引标志初始化。connection.PrepareStatement(String sql, String[] columnNames); //创建一个新的PrepareStatement对象以指定的SQL语句和列名标志初始化。 PrepareStatement类是没有直接的构造方法的但是可以通过Connection对象调用PrepareStatement()方法来创建自己的对象。第一个方法是最经常使用的其他的想忽略也行。 PrepareStatement类的常用方法 方法功能描述返回值setNull(int parameterIndex, int sqlType)将指定的参数设置为SQL NULLvoidsetBoolean(int parameterIndex, boolean x)将指定参数设置为给定的Java布尔值voidsetByte(int parameterIndex, byte x)将指定参数设置为给定的Java字节值voidsetShort(int parameterIndex, short x)将指定参数设置为给定的Java short值voidsetInt(int parameterIndex, int x)将指定参数设置为给定的Java int值voidsetLong(int parameterIndex, long x)将指定参数设置为给定的Java long值voidsetFloat(int parameterIndex, float x)将指定参数设置为给定的Java float值voidsetDouble(int parameterIndex, double x)将指定参数设置为给定的Java double值voidsetBigDecimal(int parameterIndex, BigDecimal x)将指定参数设置为给定的Java BigDecimal值voidsetString(int parameterIndex, String x)将指定参数设置为给定的Java String值voidsetBytes(int parameterIndex, byte[] x)将指定参数设置为给定的Java 字节数组voidsetDate(int parameterIndex, Date x)将指定参数设置为给定的SQL date值voidsetTime(int parameterIndex, Time x)将指定的参数设置为给定的SQL时间戳值  voidsetObject(int parameterIndex, Object x)将指定参数设置为给定的Java Object对象voidexecuteQuery()执行这个PreparedStatement对象中的SQL查询并返回查询生成的ResultSet对象ResultSetexecuteUpdate()执行这个PreparedStatement对象中的SQL语句(可能是INSERT、UPDATE或DELETE语句)并返回受影响行的计数intexecute()执行这个PreparedStatement对象中的SQL语句它可能返回多个结果booleanclearParameters()清除PreparedStatement对象中的当前参数值voidsetArray(int parameterIndex, Array x)将指定参数设置为给定的SQL Array对象voidsetBlob(int parameterIndex, Blob x)将指定参数设置为给定的SQL Blob对象voidsetClob(int parameterIndex, Clob x)将指定参数设置为给定的SQL Clob对象void 使用以上PrepareStatement的方法就可以实现对数据库的增删改查的功能了。 PrepareStatement类比Statement类多一个预处理的功能需要使用到通配符 ? 也正是该功能减轻了SQL注入攻击 所以PrepareStatement实例化时的String数据的SQL语句时不完整的需要将通配符替换掉才能进行使用这和格式化输出语句的道理一样。 在上面常用方法的表格中最常见的是set()方法尽管数据类型不同但第一个参数int parameterIndex 该参数都是指在String字符串中编写SQL语句的第几个通配符然后这个在SQL语句中的问号 ? 可以被你设置的第二个数据类型替代SQL语句被补全了可以进行下一步执行运行的操作了。 二、实操展示 以下的所有操作都建立在连接好数据库之后对连接框架的代码进行了省略。 增删改查的操作步骤大致都是查需要循环输出语句反馈到控制台 第一步创建String对象编写SQL语句。 第二步利用connection对象调用方法创建PrepareStatement对象。 第三步使用PrepareStatement类的set()方法补全SQL语句中的通配符。 最后一步调用PrepareStatement类的executeUpdate()方法执行该SQL语句。 executeUpdate()方法执行后Java代码会将SQL语句发送给MySQL数据库并执行相应的操作如插入、更新或删除数据。执行完毕后MySQL数据库会返回操作的结果Java代码可以通过executeUpdate()方法获取到受影响的行数。 1.增 实操展示 这是数据库表单原本的样子 这个table只有三行需求添加一个id是104name是小浩的数据。 主要代码  String sql INSERT INTO table_name (id, name) VALUES (?, ?); PreparedStatement statement connection.prepareStatement(sql); statement.setInt(1, 104); statement.setString(2, 小浩); statement.executeUpdate();运行结果 如上图所示刷新Workbench实时显示出了数据库内容的更新。 2.删         实操展示 这是数据库表单原本的样子 需求删除一个id是103name是小张的数据。 主要代码 String sql DELETE FROM test_table WHERE id ? AND name ?; PreparedStatement statement con.prepareStatement(sql); statement.setInt(1, 103); statement.setString(2, 小张); statement.executeUpdate(); 运行结果 如上图所示数据库表单的id103,name小张的这一串数据已被删除。  3.改 实操展示 这是数据库表单原本的样子 需求将id104 name小王的这一串数据里id值修改为103。  主要代码 String sql UPDATE test_table SET id ? WHERE id ? ; PreparedStatement statement con.prepareStatement(sql); statement.setInt(1, 103); statement.setInt(2, 104); statement.executeUpdate(); 运行结果 如上图所示数据库中小浩的id由104更改为了103。 4.查 这是数据库表单原本的样子 需求查询id为101的用户的name值是什么。 主要代码 String sql SELECT name FROM test_table WHERE id ? ; PreparedStatement statement con.prepareStatement(sql); statement.setInt(1, 101); ResultSet resultSet statement.executeQuery(); while (resultSet.next()) {// 处理查询结果String value1 resultSet.getString(name);System.out.println(查询结果id值为101的用户名称是 value1); } 运行结果 对比数据库的信息 如上面两张图显示通过PrepareStatement类可以轻松实现java后端与数据库之间的互通。  总结 以上就是使用java的PrepareStatement类对数据库进行增删改查的操作本文初步介绍了java的使用没有写关于SQL语句之类的数据库知识有补充或指正的地方欢迎在评论区中留言。
http://www.hkea.cn/news/14440291/

相关文章:

  • 营销型网站哪家好企业qq官网首页
  • 闲鱼搭建网站正规网站开发公司
  • 什么软件可以建设网站有人模仿qq音乐做的h5网站吗
  • 西安建设网站平台黑帽seo培训大神
  • 网站建设培训福州邢台网站建设公司
  • 唯一做性视频的网站网站后台是做什么的
  • 深圳网站设计 深圳市利购物网站建设课程设计
  • 做网站去哪里找客户建立一个个人网站
  • 在百度怎么做网站谷歌推广网站怎么做
  • 微信网站域名备案成功后怎么做竞价托管服务公司
  • 网站怎么做才不会被封seo外包平台
  • 怎么在国外网站赚钱杭州会做网站
  • 青海网站建设与管理做网站被骗没有居住证能不能告他
  • 那家公司做网站好上海企业咨询公司
  • 西城网站建设浩森宇特烟台网站建设工作
  • 宁夏小蚁人网站建设网站建设需要哪些
  • 做网站后端的是什么部门杭州网站建设 巴零
  • 如何做新网站保留域名鞍山网站制作一般需要多少钱
  • 淮北网站建设推广常用的电子商务网站
  • 甘肃省住房和城乡建设厅安置局网站wordpress修改默认头像
  • 地铁公司招聘信息网站合川网站制作
  • 西乡建网站公司做网站CentOS还是win好
  • 南宁seo网站排名优化公司石龙仿做网站
  • 专门做优选的网站wordpress建站详细教程视频
  • 站酷网站建设石家庄 网站 科技
  • 淄博做网站的公司都有哪些正规的网站建设工作室
  • 大学网站建设考核办法网站设计制作中心
  • 网站做的比较好的公司吗seo是什么推广
  • 金山网站建设关键词排名天津做淘宝网站
  • 长春火车站地址学校网站开发方案