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

整站优化 快速排名wordpress怎么使用七牛

整站优化 快速排名,wordpress怎么使用七牛,网站代理怎么设置,信用卡申请网站建设ava与数据库交互的主要API是jdbc。jdbc的主要目的是#xff1a;1.通过使用SQL或者专有的SQL扩展#xff0c;程序员可以利用java语言开发访问数据的应用。2.数据库开发商或者数据库工具开发商改进数据库驱动程序jdbc通用的使用方式如下#xff1a;Class.forName(jdbcDriverNa…ava与数据库交互的主要API是jdbc。jdbc的主要目的是 1.通过使用SQL或者专有的SQL扩展程序员可以利用java语言开发访问数据的应用。 2.数据库开发商或者数据库工具开发商改进数据库驱动程序 jdbc通用的使用方式如下 Class.forName(jdbcDriverName);  Connection conn DriverManager.getConnection(url,user,password); 根据数据库和驱动不同下面是一些常用数据库的jdbc 1.mysql Class.forName(com.mysql.jdbc.Driver); Connection conn DriverManager.getConnection(jdbc:mysql://localhost:3306/database,user,password); 2.oracle(thin): Class.forName(Oracle.jdbc.driver.OracleDriver); Connection conn DriverManager.getConnection(jdbc:oracle:thinlocalhost:1521/database,user,password); 3.DB2: Class.forName(com.ibm.db2.jdbc.app.DB2Driver); Connection conn DriverManager.getConnection(jdbc:db2://localhost:50000/sample,user,password); 其他类型数据库与java一起使用的频率就比上面这些出现的频率小多了。 在配置jdbc驱动的时候oracle与mysql的配置是一样但是DB2有些不同因为DB2的jdbc有三个jar包在配置的时候要如下操作 1. 将 db2jcc.jar 和 db2jcc_license_cu.jar 配置在环境变量classpath下。 2. 将 db2jcc.jar 和 db2jcc_license_cu.jar复制在你所用的应用服务器中工程下的WEB-INF/lib包下 3.jdbc中数据库地址URL为jdbc:db2://localhost:50000/sample 4.数据库驱动类为com.ibm.db2.jdbc.jcc.DB2Driver 5.使用正确的user和password进行连接测试 执行SQL的操作 要执行SQL首先要创建一个Statement对象来进行SQL操作。创建方法如下 Statement stconn.createStatement(); Statement执行操作SQL的方法有三个分别是 st.execute(String sql):执行任意的SQL语句它通常用于用户提供的交互式查询服务于技术人员 st.executeUpdate(String sql):执行插入更新删除语句以及表的创建删除语句返回sql语句影响的数据的行数 st.executeQuery(String sql):只执行查询操作返回结果集ResultSet。 为什么不能只提供executeString sql方法 因为在正常的情况下查询操作比其他的操作更频繁。单独提供方法可以更好地优化它。 当查询操作时可以使用如下的方式进行取出查询到的数据 ResultSet rsst.executeQuery(sql); while(rs.next()){ //rs.getString(1)类似的操作 } 注意由于每一次查询都会产生这样的结果集所以在使用完之后要立即关闭这个ResultSet产生它的Statement或者进一步关闭Connection。以免大量查询操作导致内存不足。如果这个连接conn使用的时间很短可以直接关闭conn就可以了。 预处理方式的查询prepared statement 在sql参数中使用“”来代替从现实情况中取到的实际参数值再用它生成prepareStatement对象然后通过prepare statement的方法来进行替换占位符“”,所有的占位符替换完成后才进行执行。下面是代码示例 String sqlselect * from person where name? and age?; PreparedStatement pstconn.createPreparedStatement(sql); pst.setString(1,wangxiao); pst.setInt(2,25); ResultSet rspst.executeQuery(); 读写LOB问题 在SQL中二进制大对象称为BLOB字符型大对象称为CLOB。要读取LOB需要执行select语句然后在ResultSet上调用getBlob和getClob方法这样可以获取BLOB或者CLOB类型的对象。要从BLOB中获取二进制数据可以调用getBytes或者getInputStream。类似的获取CLOB对象就可以调用getSubString或者getCharacterStream来获取其中的字符数据。下面是一段BLOB从数据库读出和写入的代码片段 从数据库读取 PreparedStatement pst conn.prepareStatement(select cover from book where isbn?); pst.setString(1, isbn); ResultSet res pst.executeQuery(); if (res.next()) { Blob blob res.getBlob(1); Image image ImageIO.read(blob.getBinaryStream()); } 向数据库写入 Blob blobconn.createBlob(); int offset0; OutputStream outblob.setBinaryStream(offset); RenderedImage imagenull;// set the source of store ImageIO.write(image, PNG, out); PreparedStatement pstconn.prepareStatement(insert into cover values (?,?)); pst.setString(1,isbn); pst.setBlob(2, blob); pst.executeUpdate(); SQL转义问题 这个问题涉及到日期和时间的字面量调用标量函数调用存储过程外连接like中用到的转义字符。最普遍的情况就是时间字符串时间戳的问题。 多结果集的处理 在执行存储过程或者在试用允许在单个查询中提交多个select语句的数据库时查询可能返回多个结果集。下面是获取所有结果集的步骤 1.试用execute方法来执行SQL语句 2.获取第一个结果集或者更新计数 3.重复调用getMoreResults方法移动到下一个结果集 4.当不存在更多的结果集或更新计数时完成操作。 boolean donefalse; boolean isResultstatement.execute(command); while(!done){ if(isResult){ ResultSet resultstatement.getResultSet(); //do something with result }else{ int updateCountstatement.getUpdateCount(); if(updateCount0){ //do something with update }else{ donefalse;   } } isResultstatement.getMoreResults(); } 获取新建数据行的自动生成键 statement.executeUpdate(insertSql,Statement.RETURN_GENERATED_KEYS); ResultSet rsstatement.getGeneratedKeys(); int key; if(rs.next()){ keyrs.getInt(1); } 可滚动和可更新的结果集 我们非常疑惑有了上面的固定的结果集ResultSet之后这一部分真的需要吗 我经过仔细的查阅资料文档后发现这个可滚动的结果集是用于不断同步数据库表单中数据的时候使用的。但是有限定条件用于一张表的可视化显示用户会用到在结果集上前后移动。 使用可滚动结果集的语法 Statement stconn.createStatement(type,concurrency); PreparedStatement pstconn.preparedStatement(command,type,concurrency); ResultSet rsst.executeQuery(sql); 这样的rs里面会带有一个光标可以前后移动。 如果是可更新的结果集要要求更严格一些有些数据库不一定能够支持这种形式。这种操作会始终连接着数据库效率是个问题。 行集 行集的出现就是为了解决可更新结果集长时间连接数据库的问题。行集有很多种实现类型有CachedRowSetWebRowSet,jdbcRowSet,FilterdRowSet,JoinRowSet.下面是CachedRowSet的启用语法 ResultSet rsst.executeQuery(sql); CachedRowSet crsnew com.sun.rowset.CachedRowSetImpl(); crs.populate(rs); conn.close(); //使用crs操作 元数据 元数据在SQL中是用来描述数据库或其组成部分的数据。我们可以获得三类元数据关于数据库的元数据关于结果集的元数据关于预备语句参数的元数据。这个元数据在百度上百度一下可以看到它的标准定义它是描述基本数据信息的数据。操作元数据的语法如下 DatabaseMetaData metaconn.getMetaData(); ResultSet mrsmeta.getTables(null,null,null,new String[]{TABLE}); 元数据结果集中第一列代表了表目录第二列代表了表结构模式第三列表名第四列表类型第五列关于表的注释。 事物 这个是数据库操作中常用到的数据操作保障一般情况下要在jdbc操作失败的时候进行回滚操作前提是jdbc操作不是自动提交事物的。 取消事物自动提交的语法是 conn.setAutoCommit(false); 提交语法conn.commit(); 回滚语法conn.rollback(); 当一个处理过程中涉及到很多步骤的非查询操作的时候可以设立保存点以更好地控制回滚操作。 使用语法说明 //step1 jdbc operations Savepoint svptconn.setSavepoint(); //step2 jdbc operations if(...)conn.rollback(svpt);//如果step2操作失败的话 //other operations conn.commit(); 批量更新 当一起执行多个非查询操作的时候可以考虑是用批量更新的方式来提高效率。这种效率随着操作语句数量的增多而提高的更多。批量操作在处理异常时可以作为单个事物操作。具体使用查询batch update.转载于:https://www.cnblogs.com/duscl/p/4872545.html
http://www.zqtcl.cn/news/943920/

相关文章:

  • 视频剪辑自学网站wordpress怎样改头像
  • 女装网站模板青岛开发区网站
  • dede网站后台海外网络服务器
  • 三合一企业网站模板wordpress做的外贸网站
  • 常州做企业网站的公司亚马逊雨林有原始部落吗
  • 临沂网站设计哪家好qq浏览器网页版进入
  • seo资料站哔哩哔哩官方网站首页
  • 前端怎么做网站万网域名管理入口
  • asp.net 做网站实例特别酷炫网站
  • 个人网站的内容网页设计图片显示不出来怎么弄
  • 福建省建设人才与科技发展中心网站首页关于制作网站收费标准
  • 什么软件可以发帖子做推广中山优化网站
  • 中山网站建设开发网络营销的基本功能
  • 温州平阳县网站建设兼职免费下载简历模板
  • 导购网站 转化率wordpress 拓展
  • 美文分享网站源码互联网网站建设
  • 做网站用php还是python建设网站价格
  • 平台网站怎么做诱导网站怎么做
  • 网站建设人员构成网址申请域名
  • 微网站建设找哪家公司好郑州一凡网站建设
  • 江阴网站制作公司泉州网站建设论坛
  • 最新章节 62.一起来做网站吧时钟插件+wordpress
  • 惠州市建设规划局网站网页设计实训报告word
  • 大众汽车网站建设鳌江网站建设
  • 佛山外贸网站建设公司网站与网页区别
  • HTML网站建设课程微商怎么做网站
  • 专业数据分析网站wordpress 很差
  • 请人做个网站多少钱google推广妙招
  • 郑州销售网站开一个设计公司
  • 建筑公司网站常用长尾词网页设计实训总结100字