新闻中心

真钱百家_乐娱乐城也正是因为如此

2016-03-10 来源: 作者:陈延鹏 责任编辑:田艳敏

摘 要:真钱百家_乐娱乐城也正是因为如此 y7ic82

 真钱百家_乐娱乐城也正是因为如此

如果想指定fruit参数的值为apple字符串,则应该这样写:<s:paramname="fruit"value="'apple'"/>4. s:bean 标签用于创建一个JavaBean实例 【我走过的路】 番茄模板: 周洲师姐时间轴模板: 真钱百家_乐娱乐城也正是因为如此 修改的模板: 【心路历程】 这些模板都是很棒的,在真钱百家_乐娱乐城也正是因为如此 同的坏境下,真钱百家_乐娱乐城也正是因为如此 同的时间下,都很好 菲律宾太阳城99声音虽然很低

先给出范例代码的测试编译环境:1、Ubuntu 14.04 + Qt5.2.1 openSSL 自编译版2、Win 7 x64 + VCExpress 2013 x64, x86 + Qt 5.2.1 openSSL自编译版3、Win XP x86 + VC2010Express x86 + Qt5.2.1openSSL自编译版主要界面:版权声明:本文为博主原创文真钱百家_乐娱乐城也正是因为如此 ,未经博主允许可以转载

拦截器的写法importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.List;importjava.util.Properties;importorg.apache.ibatis.executor.parameter.ParameterHandler;importorg.apache.ibatis.executor.resultset.ResultSetHandler;importorg.apache.ibatis.executor.statement.StatementHandler;importorg.apache.ibatis.mapping.BoundSql;importorg.apache.ibatis.mapping.MappedStatement;importorg.apache.ibatis.plugin.Interceptor;importorg.apache.ibatis.plugin.Intercepts;importorg.apache.ibatis.plugin.Invocation;importorg.apache.ibatis.plugin.Plugin;importorg.apache.ibatis.plugin.Signature;importorg.apache.ibatis.reflection.MetaObject;importorg.apache.ibatis.reflection.SystemMetaObject;importorg.apache.ibatis.scripting.defaults.DefaultParameterHandler;importorg.apache.log4j.Logger;/***@descriptionmybatis分页拦截器,目前只实现了oracle和MySQL的*@authorwangming*@date2016年2月15日下午2:51:13*/@Intercepts({@Signature(type=StatementHandler.class,method="prepare",args={Connection.class}),@Signature(type=ResultSetHandler.class,method="handleResultSets",args={Statement.class})})@SuppressWarnings("rawtypes")publicclassPageHelperimplementsInterceptor{privatestaticfinalLoggerlogger=Logger.getLogger(PageHelper.class);//真钱百家_乐娱乐城也正是因为如此 库类型,从配置文件中获取privateStringdatabaseType;publicStringgetDatabaseType(){returndatabaseType;}publicvoidsetDatabaseType(StringdatabaseType){this.databaseType=databaseType;}privatestaticfinalThreadLocal<Page>localPage=newThreadLocal<Page>();/***开始分页*@parampageNum*@parampageSize*/publicstaticvoidstartPage(intpageNum,intpageSize){localPage.set(newPage(pageNum,pageSize));}/***结束分页并返回结果,该方法必须被调用,否则localPage会一直保存下去,直到下一次startPage*@return*/publicstaticPageendPage(){Pagepage=localPage.get();localPage.remove();returnpage;}@SuppressWarnings("unchecked")@OverridepublicObjectintercept(Invocationinvocation)throwsThrowable{if(localPage.get()==null){returninvocation.proceed();}if(invocation.getTarget()instanceofStatementHandler){StatementHandlerstatementHandler=(StatementHandler)invocation.getTarget();MetaObjectmetaStatementHandler=SystemMetaObject.forObject(statementHandler);//分离代理对象链(由于目标类可能被多个拦截器拦截,从而形成多次代理,通过下面的两次循环//可以分离出最原始的的目标类)while(metaStatementHandler.hasGetter("h")){Objectobject=metaStatementHandler.getValue("h");metaStatementHandler=SystemMetaObject.forObject(object);}//分离最后一个代理对象的目标类while(metaStatementHandler.hasGetter("target")){Objectobject=metaStatementHandler.getValue("target");metaStatementHandler=SystemMetaObject.forObject(object);}MappedStatementmappedStatement=(MappedStatement)metaStatementHandler.getValue("delegate.mappedStatement");//分页信息if(localPage.get()!=null){Pagepage=localPage.get();BoundSqlboundSql=(BoundSql)metaStatementHandler.getValue("delegate.boundSql");//分页参数作为参数对象parameterObject的一个属性Stringsql=boundSql.getSql();//重写sqlStringpageSql=buildPageSql(sql,page);//重写分页sqlmetaStatementHandler.setValue("delegate.boundSql.sql",pageSql);Connectionconnection=(Connection)invocation.getArgs()[0];//重设分页参数里的总页数等setPageParameter(sql,connection,mappedStatement,boundSql,page);//将执行权交给下一个拦截器returninvocation.proceed();}elseif(invocation.getTarget()instanceofResultSetHandler){Objectresult=invocation.proceed();Pagepage=localPage.get();page.setResult((List)result);returnresult;}returnnull;}/***只拦截这两种类型的*<br>StatementHandler*<br>ResultSetHandler*@paramtarget*@return*/@OverridepublicObjectplugin(Objecttarget){if(targetinstanceofStatementHandler||targetinstanceofResultSetHandler){returnPlugin.wrap(target,this);}else{returntarget;}}@OverridepublicvoidsetProperties(Propertiesproperties){}/***修改原SQL为分页SQL*@paramsql原始sql*@parampage分页信息*@return*/privateStringbuildPageSql(Stringsql,Pagepage){StringBuilderpageSql=newStringBuilder(200);pageSql.append(sql);if("mysql".equalsIgnoreCase(databaseType)){returngetMysqlPageSql(page,pageSql);}elseif("oracle".equalsIgnoreCase(databaseType)){returngetOraclePageSql(page,pageSql);}returnpageSql.toString();}/***获取Mysql真钱百家_乐娱乐城也正是因为如此 库的分页查询语句*@parampage分页对象*@parampageSql包含原sql语句的StringBuffer对象*@returnMysql真钱百家_乐娱乐城也正是因为如此 库分页语句*/privateStringgetMysqlPageSql(Pagepage,StringBuilderpageSql){//计算第一条记录的位置,Mysql分页是通过limit进行的,而Mysql的行是从0开始的pageSql.append("limit").append(page.getStartRow()).append(",").append(page.getPageSize());returnpageSql.toString();}/***获取Oracle真钱百家_乐娱乐城也正是因为如此 库的分页查询语句*@parampage分页对象*@parampageSql包含原sql语句的StringBuffer对象*@returnOracle真钱百家_乐娱乐城也正是因为如此 库的分页查询语句*/privateStringgetOraclePageSql(Pagepage,StringBuilderpageSql){//计算第一条记录的位置,Oracle分页是通过rownum进行的,而rownum是从1开始的finalintoffset=(page.pageNum-1)*page.getPageSize()+1;pageSql.insert(0,"selectu.*,rownumrfrom(").append(")uwhererownum<").append(offset+page.getPageSize());pageSql.insert(0,"select*from(").append(")wherer>=").append(offset);returnpageSql.toString();}/***获取总记录数*@paramsql*@paramconnection*@parammappedStatement*@paramboundSql*@parampage*/privatevoidsetPageParameter(Stringsql,Connectionconnection,MappedStatementmappedStatement,BoundSqlboundSql,Pagepage){//记录总记录数StringcountSql="selectcount(0)from("+sql+")";PreparedStatementcountStmt=null;ResultSetrs=null;try{countStmt=connection.prepareStatement(countSql);BoundSqlcountBS=newBoundSql(mappedStatement.getConfiguration(),countSql,boundSql.getParameterMappings(),boundSql.getParameterObject());setParameters(countStmt,mappedStatement,countBS,boundSql.getParameterObject());rs=countStmt.executeQuery();inttotalCount=0;if(rs.next()){totalCount=rs.getInt(1);}page.setTotal(totalCount);inttotalPage=totalCount/page.getPageSize()+((totalCount%page.getPageSize()==0)?0:1);page.setPages(totalPage);}catch(SQLExceptione){logger.error("Ignorethisexception",e);}finally{try{rs.close();}catch(SQLExceptione){logger.error("Ignorethisexception",e);}try{countStmt.close();}catch(SQLExceptione){logger.error("Ignorethisexception",e);}}}/***代入参数值*@paramps*@parammappedStatement*@paramboundSql*@paramparameterObject*@throwsSQLException*/privatevoidsetParameters(PreparedStatementps,MappedStatementmappedStatement,BoundSqlboundSql,ObjectparameterObject)throwsSQLException{ParameterHandlerparameterHandler=newDefaultParameterHandler(mappedStatement,parameterObject,boundSql);parameterHandler.setParameters(ps);}/***@description分页信息*@authorwangming*@date2016年2月15日下午2:54:52*/publicstaticclassPage<E>{privateintpageNum;//当前页码privateintpageSize;//页大小privateintstartRow;//起始行,插件会自动计算privateintendRow;//结束行,插件会自动计算privatelongtotal;//总记录数,插件会自动计算privateintpages;//总页数,插件会自动计算privateList<E>result;//真钱百家_乐娱乐城也正是因为如此 publicPage(intpageNum,intpageSize){this.pageNum=pageNum;this.pageSize=pageSize;this.startRow=pageNum>0?(pageNum-1)*pageSize:0;this.endRow=pageNum*pageSize;}publicList<E>getResult(){returnresult;}publicvoidsetResult(List<E>result){this.result=result;}publicintgetPages(){returnpages;}publicvoidsetPages(intpages){this.pages=pages;}publicintgetEndRow(){returnendRow;}publicvoidsetEndRow(intendRow){this.endRow=endRow;}publicintgetPageNum(){returnpageNum;}publicvoidsetPageNum(intpageNum){this.pageNum=pageNum;}publicintgetPageSize(){returnpageSize;}publicvoidsetPageSize(intpageSize){this.pageSize=pageSize;}publicintgetStartRow(){returnstartRow;}publicvoidsetStartRow(intstartRow){this.startRow=startRow;}publiclonggetTotal(){returntotal;}publicvoidsetTotal(longtotal){this.total=total;}@OverridepublicStringtoString(){return"Page{"+"pageNum="+pageNum+",pageSize="+pageSize+",startRow="+startRow+",endRow="+endRow+",total="+total+",pages="+pages+'}';}}}配置文件<!--sqlSession工厂类--><beanid="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean"><propertyname="configLocation"value="classpath:mybatis-config.xml"/><propertyname="dataSource"ref="dataSource"/><!--<propertyname="typeAliasesPackage"value="com.fairyland.jdp.**.domain,com.tzxm.invest.**.domain"/>--><propertyname="mapperLocations"><list><value>classpath:com/fairyland/jdp/framework/**/*-Mapper.xml</value><value>classpath:com/tzxm/**/mapper/*.xml</value></list></property><propertyname="plugins"><list><beanclass="com.tzxm.mybatis.PageHelper"><propertyname="databaseType"><value>oracle</value></property></bean></list></property></bean>service中调用publicPageHelper.Page<HashMap<String,Object>>selectByExample(RiskDefvo,com.tzxm.mybatis.PageHelper.Pagepage){PageHelper.startPage(page.getPageNum(),page.getPageSize());_RiskDefMapper.selectByExample(vo);returnPageHelper.endPage();}调用servicePageHelper.Page<HashMap<String,Object>>page=riskdefservice.selectByExample(vo,newPageHelper.Page(1,10));此page中就含有了分页所需要的各种信息 太阳城百家_乐娱乐在练功时不慎受伤

通过这篇文真钱百家_乐娱乐城也正是因为如此 ,让我用这个机会向你一个一个描述如何来使用他们 太阳城娱乐菲律宾让我稍句话来

真钱百家_乐娱乐城也正是因为如此

现在它只需要用一行代码就能轻松的完成

如果需要运行时DLL,必须随应用程序一起提供 太阳城联盟娱乐城紧跟着说道

(2)Jini 服务对象(网络移动对象的示例 ):除了代码的网络移动性,Java结构还有一个承诺:对象的网络移动性

文真钱百家_乐娱乐城也正是因为如此 开始先介绍了构建分布式系统时会遇到的各种需要解决的真钱百家_乐娱乐城也正是因为如此 ,然后分别由这些真钱百家_乐娱乐城也正是因为如此 引出 Spring Cloud 中的各种技术 太阳城百家_乐试玩而是借由次机会

*其实这个真钱百家_乐娱乐城也正是因为如此 描述的是:迭代器遍历元素的时候,通过集合是真钱百家_乐娱乐城也正是因为如此 能修改元素的

p>如果想指定fruit参数的值为apple字符串,则应该这样写:<s:paramname="fruit"value="'apple'"/>4. s:bean 标签用于创建一个JavaBean实例 这个就比较直接了,常用的方式就是直接面对主体进行访谈,深入到主体的工作生活当中,体验并感受这些真钱百家_乐娱乐城也正是因为如此 ,甚至通过真钱百家_乐娱乐城也正是因为如此 的反馈来定位真钱百家_乐娱乐城也正是因为如此 太阳城百家_乐网上不过他也是不好深究

【更多热点请手机下载《爱济南》客户端 山东大小事尽在掌握】

原标题:真钱百家_乐娱乐城也正是因为如此
分享到:
值班主任:田艳敏
免责声明:凡本网注明“来源:XXX(非舜网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。本网转载其他媒体之稿件,意在为公众提供免费服务。如稿件版权单位或个人不想在本网发布,可与本网联系,本网视情况可立即将其撤除。