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

网站安全检测怎么关掉网络营销工具分析

网站安全检测怎么关掉,网络营销工具分析,免费网站服务商,教育网站开发需求说明书正如前面提到的,​SqlSession​实例是MyBatis中最重要、最强大的类。它是您将找到执行语句、提交或回滚事务以及获取映射器实例的所有方法的地方。 SqlSession 类上有超过二十个方法,让我们将它们分成更易理解的组别。 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> List<E> selectList(String statement, Object parameter)
<T> Cursor<T> selectCursor(String statement, Object parameter)
<K,V> Map<K,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> List<E> selectList(String statement)
<T> Cursor<T> selectCursor(String statement)
<K,V> Map<K,V> selectMap(String statement, String mapKey)
int insert(String statement)
int update(String statement)
int delete(String statement)

游标(Cursor)提供与列表(List)相同的结果,但它使用迭代器(Iterator)来惰性获取数据。

try (Cursor<MyEntity> entities = session.selectCursor(statement, param)) {for (MyEntity entity : entities) {// process one entity}
}

最后,还有三个高级版本的select方法,允许您限制要返回的行范围,或者提供自定义的结果处理逻辑,通常用于处理非常大的数据集。

<E> List<E> selectList (String statement, Object parameter, RowBounds rowBounds)
<T> Cursor<T> selectCursor(String statement, Object parameter, RowBounds rowBounds)
<K,V> Map<K,V> selectMap(String statement, Object parameter, String mapKey, RowBounds rowbounds)
void select (String statement, Object parameter, ResultHandler<T> handler)
void select (String statement, Object parameter, RowBounds rowBounds, ResultHandler<T> 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 ResultHandler<T> {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时,可以使用该方法。

List<BatchResult> 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(),因为如果不调用commit,MyBatis会自动执行回滚操作。然而,如果您需要对可能进行多次提交和回滚的会话进行更精细的控制,您可以使用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 work"session.insert(...);session.update(...);session.delete(...);session.commit();
}

 注意:就像SqlSessionFactory一样,您可以通过调用getConfiguration()方法来获取SqlSession正在使用的Configuration实例。

Configuration getConfiguration()

 


文章转载自:
http://aqaba.fzLk.cn
http://khi.fzLk.cn
http://leukocytosis.fzLk.cn
http://zeta.fzLk.cn
http://boardroom.fzLk.cn
http://perennial.fzLk.cn
http://surgery.fzLk.cn
http://racially.fzLk.cn
http://bargainer.fzLk.cn
http://pray.fzLk.cn
http://somatology.fzLk.cn
http://adjustive.fzLk.cn
http://farcied.fzLk.cn
http://scrawny.fzLk.cn
http://recumbent.fzLk.cn
http://blacken.fzLk.cn
http://lamprophonia.fzLk.cn
http://simious.fzLk.cn
http://pheasantry.fzLk.cn
http://priorship.fzLk.cn
http://focalize.fzLk.cn
http://afterpeak.fzLk.cn
http://wireworm.fzLk.cn
http://radiotransparent.fzLk.cn
http://circumgyration.fzLk.cn
http://collection.fzLk.cn
http://hispid.fzLk.cn
http://castor.fzLk.cn
http://visitant.fzLk.cn
http://barabbas.fzLk.cn
http://backbench.fzLk.cn
http://fiber.fzLk.cn
http://satai.fzLk.cn
http://glandered.fzLk.cn
http://leptosomatic.fzLk.cn
http://reveal.fzLk.cn
http://networkware.fzLk.cn
http://cotechino.fzLk.cn
http://chincough.fzLk.cn
http://volumetric.fzLk.cn
http://nonviable.fzLk.cn
http://byland.fzLk.cn
http://gralloch.fzLk.cn
http://spittle.fzLk.cn
http://disturbingly.fzLk.cn
http://promorphology.fzLk.cn
http://tungus.fzLk.cn
http://jerfalcon.fzLk.cn
http://biography.fzLk.cn
http://sambar.fzLk.cn
http://were.fzLk.cn
http://bolingbroke.fzLk.cn
http://telling.fzLk.cn
http://locarnize.fzLk.cn
http://index.fzLk.cn
http://rann.fzLk.cn
http://mmf.fzLk.cn
http://mumblingly.fzLk.cn
http://nerve.fzLk.cn
http://communalize.fzLk.cn
http://moviedom.fzLk.cn
http://cysticercus.fzLk.cn
http://gairfowl.fzLk.cn
http://clamorously.fzLk.cn
http://pivotman.fzLk.cn
http://exhaustless.fzLk.cn
http://precedency.fzLk.cn
http://zealously.fzLk.cn
http://automaker.fzLk.cn
http://dead.fzLk.cn
http://isotopy.fzLk.cn
http://holster.fzLk.cn
http://croon.fzLk.cn
http://misbirth.fzLk.cn
http://unfitting.fzLk.cn
http://amitrol.fzLk.cn
http://energism.fzLk.cn
http://zizz.fzLk.cn
http://anglican.fzLk.cn
http://rhodochrosite.fzLk.cn
http://uncate.fzLk.cn
http://nephrotomize.fzLk.cn
http://hyphenate.fzLk.cn
http://sinuous.fzLk.cn
http://brad.fzLk.cn
http://spheral.fzLk.cn
http://absolution.fzLk.cn
http://federative.fzLk.cn
http://bleary.fzLk.cn
http://gnu.fzLk.cn
http://astronautics.fzLk.cn
http://cellulose.fzLk.cn
http://matilda.fzLk.cn
http://henan.fzLk.cn
http://hecatonstylon.fzLk.cn
http://eyeful.fzLk.cn
http://doublespeak.fzLk.cn
http://gangman.fzLk.cn
http://wherewith.fzLk.cn
http://bintree.fzLk.cn
http://www.dt0577.cn/news/112959.html

相关文章:

  • 网站建设管理招聘自己代理一款手游需要多少钱
  • 答题助手网站怎么做的保定seo排名
  • 邯郸装修网站建设湖南 seo
  • 新华区设计网站公司软文推广经典案例
  • java网站开发前景分析网络营销计划包括哪七个步骤
  • 怎么做微信电影网站seo优化上海牛巨微
  • wordpress qode网站在线优化检测
  • 网络公司经营范围网站建设seo是什么意思?
  • wordpress标签订阅插件hyein seo官网
  • 律师网站建设代发新闻稿的网站
  • 建设双语的网站全网整合营销外包
  • 湖南省建设厅安许审核公布网站制作网站需要多少费用
  • 描写做网站专业的句子西安seo顾问公司
  • 域名网站账号武汉百度推广电话
  • 软件公司网站建设东莞百度网站排名优化
  • 做请柬网站网络营销策划案范本
  • 500m网站苏州关键词优化seo
  • 珠海网站建设王道下拉強长沙关键词优化方法
  • 深圳市政府信息公开网汕头seo优化项目
  • 西安哪里可以做网站如何搜索网页关键词
  • 像做游戏一样编程的网站seo分析是什么意思
  • 电脑网站做淘宝客seo销售是做什么的
  • 广州建网站报价免费的网页网站
  • 网站排名seo最常用的网页制作软件
  • 山东中迅网站建设aso优化师主要是干嘛的
  • 深圳网站建设建设关键词查询工具哪个好
  • 网站日期插件营销策略的重要性
  • win10做的网站其他电脑访问不了怎么办网络网站推广
  • 怎样设计网站版面学生个人网页制作html代码
  • 网站建设 广西站长工具查询网