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

建设网站要服务器吗wordpress整合ckplayer

建设网站要服务器吗,wordpress整合ckplayer,投资理财网站建设,李时珍现货交易平台正如前面提到的#xff0c;​SqlSession​实例是MyBatis中最重要、最强大的类。它是您将找到执行语句、提交或回滚事务以及获取映射器实例的所有方法的地方。 SqlSession 类上有超过二十个方法#xff0c;让我们将它们分成更易理解的组别。 Statement Execution Methods-语…正如前面提到的​SqlSession​实例是MyBatis中最重要、最强大的类。它是您将找到执行语句、提交或回滚事务以及获取映射器实例的所有方法的地方。 SqlSession 类上有超过二十个方法让我们将它们分成更易理解的组别。 Statement Execution Methods-语句执行方法 这些方法用于执行在SQL映射XML文件中定义的SELECT、INSERT、UPDATE和DELETE语句。它们相当直观每个方法都接受语句的ID和参数对象作为输入参数对象可以是基本类型自动装箱或包装类、JavaBean、POJO或Map。 T T selectOne(String statement, Object parameter) E ListE selectList(String statement, Object parameter) T CursorT selectCursor(String statement, Object parameter) K,V MapK,V selectMap(String statement, Object parameter, String mapKey) int insert(String statement, Object parameter) int update(String statement, Object parameter) int delete(String statement, Object parameter) selectOne和selectList之间的区别仅在于selectOne必须返回一个对象或null没有结果。如果返回多个对象将抛出异常。如果不知道期望的对象数量可以使用selectList。如果想要检查对象是否存在最好返回一个计数0或1。selectMap是一个特殊情况它被设计用于根据结果对象中的某个属性将结果列表转换为Map。由于并不是所有语句都需要参数因此这些方法提供了无需参数对象的重载版本。 insert、update和delete方法返回的值表示受影响的行数。 T T selectOne(String statement) E ListE selectList(String statement) T CursorT selectCursor(String statement) K,V MapK,V selectMap(String statement, String mapKey) int insert(String statement) int update(String statement) int delete(String statement) 游标Cursor提供与列表List相同的结果但它使用迭代器Iterator来惰性获取数据。 try (CursorMyEntity entities session.selectCursor(statement, param)) {for (MyEntity entity : entities) {// process one entity} } 最后还有三个高级版本的select方法允许您限制要返回的行范围或者提供自定义的结果处理逻辑通常用于处理非常大的数据集。 E ListE selectList (String statement, Object parameter, RowBounds rowBounds) T CursorT selectCursor(String statement, Object parameter, RowBounds rowBounds) K,V MapK,V selectMap(String statement, Object parameter, String mapKey, RowBounds rowbounds) void select (String statement, Object parameter, ResultHandlerT handler) void select (String statement, Object parameter, RowBounds rowBounds, ResultHandlerT handler) RowBounds参数会让MyBatis跳过指定数量的记录并且限制返回结果的数量。RowBounds类有一个构造函数可以同时接收偏移量offset和限制数limit并且是不可变的。 int offset 100; int limit 25; RowBounds rowBounds new RowBounds(offset, limit); 不同的数据库驱动在这方面可以实现不同级别的效率。为了获得最佳性能使用SCROLL_SENSITIVE或SCROLL_INSENSITIVE的结果集类型换句话说不要使用FORWARD_ONLY。 ResultHandler参数允许您自定义处理每一行的结果。您可以将结果添加到列表中创建一个Map、Set或者完全忽略每个结果只保留计算的汇总数据。您可以根据需要对ResultHandler执行几乎任何操作MyBatis内部也使用它来构建结果集列表。 从MyBatis 3.4.6开始如果使用了CALLABLE语句并且存储过程中有输出参数的话传递给ResultHandler的接口将在每个REFCURSOR输出参数上使用。 该接口非常简单。 package org.apache.ibatis.session; public interface ResultHandlerT {void handleResult(ResultContext? extends T context); } ResultContext参数提供了对结果对象本身的访问以及已创建的结果对象数量的计数还有一个Boolean型的stop()方法您可以使用该方法停止MyBatis加载更多的结果。 使用ResultHandler有两个限制需要注意 使用ResultHandler调用的方法获取的数据不会被缓存。当使用高级结果映射advanced resultMaps时MyBatis可能需要多行数据来构建一个对象。如果使用ResultHandler可能会得到一个对象其中关联或集合尚未填充。 Batch update statement Flush Method-立即批量更新方法  在任何时候可以使用JDBC驱动类中的方法来执行批量更新语句。当ExecutorType为ExecutorType.BATCH时可以使用该方法。 ListBatchResult flushStatements() Transaction Control Methods-事务控制方法 有四种方法可以控制事务的范围。当然如果选择使用自动提交或者使用外部事务管理器则这些方法没有效果。然而如果使用由Connection实例管理的JDBC事务管理器那么以下四种方法将会非常有用 void commit() void commit(boolean force) void rollback() void rollback(boolean force) 默认情况下除非通过调用带有affectData参数的insert、update、delete或select方法来检测到数据库已被更改MyBatis实际上不会执行提交操作。如果在没有调用这些方法的情况下进行了更改您可以将true传递给commit和rollback方法以确保它们将被提交请注意仍然无法强制处于自动提交模式或使用外部事务管理器的会话。 大多数情况下您不需要调用rollback()因为如果不调用commitMyBatis会自动执行回滚操作。然而如果您需要对可能进行多次提交和回滚的会话进行更精细的控制您可以使用rollback选项来实现。 注意MyBatis-Spring和MyBatis-Guice提供了声明式的事务处理。因此如果您正在使用MyBatis与Spring或Guice请参考它们的具体手册。  Ensuring that SqlSession is Closed-确保SqlSession被关闭 void close() 最重要的一点是确保关闭您打开的任何会话Session。为了确保这一点最好使用以下工作单元模式 try (SqlSession session sqlSessionFactory.openSession()) {// following 3 lines are pseudocode for doing some worksession.insert(...);session.update(...);session.delete(...);session.commit(); } 注意就像SqlSessionFactory一样您可以通过调用getConfiguration()方法来获取SqlSession正在使用的Configuration实例。 Configuration getConfiguration()
http://www.dnsts.com.cn/news/156364.html

相关文章:

  • 长沙 网站开发网站后台功能
  • 营销网站建设大全北京seo邢云涛
  • 专门做旅游的网站有哪些网站优化方法页面
  • 网站关键词排名软件电子商务网站建设期末试题及答案
  • 北京免费模板建站长春住房和城乡建设部官方网站
  • 赤峰中国建设招标网站wordpress 引用样式表
  • 建设一个手机网站首页江苏省建设厅的官方网站
  • 有网站专门做效果图建设工程合同司法解释
  • 网站建设方案的摘要怎么写西安网站建设网络公司熊掌号
  • 电源网站模版网站flash音乐播放器
  • 网站编辑工作电商说白了做啥
  • 2003系统做网站台州网站策划
  • 百度站长工具抓取诊断北京信息化
  • 广元市剑阁县建设局网站网站建设考核指标
  • 做网站找哪家好?聚禄鼎科技是一家给企业做网站的公司工业产品设计要学什么
  • 网站建设的流程图示安徽省建设工程信息网宣城市公开招标信息
  • asp装修网站源码建设企业网站的目的以及意义
  • 杭州建设教育网站塘厦镇网站仿做
  • 德州做网站公司排行自适应网站案例
  • 360优化大师下载安装秦皇岛网络优化招聘
  • 如何自己做网站优化昭通昭阳区城乡建设管理局网站
  • 网站怎么让谷歌收录分类信息网站怎么做SEO
  • 泰安网站制作北京建设网站哪家好
  • 临海网站制作费用如何记账佛山专业做网站的公司
  • 网站建设首页面工作简历
  • wordpress网站如何搬家网站模板 扁平化
  • 人力资源三网站建设专业关键词排名优化软件
  • 国内做网站公司哪家好优秀网站设计
  • 从零开始做网站seo搜外友链
  • 自动化设备技术支持东莞网站建设郑州网站建设企业推荐