mybatismysqlspringjava
下面是我的sql:
<select id="getKnowledgePageList" resultMap="KnowledgeMap" parameterType="Knowledge"> select d.id recid, d.id, d.knowledgeName, d.isLeaf, case d.isLeaf when 1 then 0 when 0 then ( select max(t.isLeaf) from tb_knowledge t where t.parentKnowledgeId = d.id) end as hasLeaf from tb_knowledge d where d.parentKnowledgeId=#{parentKnowledgeId} and d.knowledgeStatus=#{knowledgeStatus} </select>在controller里面通过service的接口调用dao的getKnowledgePageList接口,这条sql在客户端执行很快,在0.20s左右,但是在程序中通过这种方式执行很慢,一般都在2000ms左右,10倍了,那个占位符#我也换成$试过了,甚至把参数写死,还是很慢,速度没有明显提升。
下面是我的mybatits配置文件:
采用 php+mysql 数据库方式运行的强大网上商店系统,执行效率高速度快,支持多语言,模板和代码分离,轻松创建属于自己的个性化用户界面 v3.5更新: 1).进一步静态化了活动商品. 2).提供了一些重要UFT-8转换文件 3).修复了除了网银在线支付其它支付显示错误的问题. 4).修改了LOGO广告管理,增加LOGO链接后主页LOGO路径错误的问题 5).修改了公告无法发布的问题,可能是打压
0
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置 MyBatis SqlSessionFactoryBean --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="plugins"> <array> <!-- | 分页插件配置 | 插件首先会根据方言查找实现类,如果未找到则使用自定义的实现类,两者均为配置则抛出异常 | dialectType 数据库方言 | 默认支持 mysql|oracle | dialectClazz 方言实现类 | 自定义需要实现 org.springagg.mybatis.IDialect接口 | --> <bean id="paginationInterceptor" class="com.dc.mybatis.plugins.PaginationInterceptor"> <!-- 分页插件属性配置 优先采用方言配置,无匹配时采用实现类。二者均未配置则抛出异常 --> <!-- 数据库方言 默认仅支持 mysql[1] 与 oracle[2] --> <property name="dialectType" value="1" /> <!-- 方言实现类 自定义实现 --> <!-- 实现 org.springagg.mybatis.IDialect 接口 --> <property name="dialectClazz" value="com.dc.mybatis.dialect.MySqlDialect" /> </bean> </array> </property> <!-- mapper和resultmap配置路径 --> <property name="mapperLocations"> <list> <!--表示在classpath下mapper目录中以-mapper.xml结尾所有文件 --> <value>classpath:mapper/*-mapper.xml</value> </list> </property> <!-- 扫描别名定义,多个包名以逗号或分号分隔 --> <property name="typeAliasesPackage" value="com.dc.web.bean" /> </bean> <!-- 扫描目录在com.dc.web.dao下所有继承 SqlMapper接口的Mapper接口,也可以使用注解来标记 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 可以指定多个包名,以逗号或分号分隔 --> <property name="basePackage" value="com.dc.web.dao" /> <property name="annotationClass" value="org.springframework.stereotype.Repository" /> <!-- 以注解标记 --> <property name="sqlSessionTemplateBeanName" value="sqlSessionTemplate" /> </bean> <!--通过模板定制MyBatis的行为 --> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg index="0" ref="sqlSessionFactory" /> <!-- 更新采用批量(BATCH)模式 insert delete 返回值将会为 -2147482646 配置和设定执行器 --> <!-- SIMPLE 执行器执行其它语句。REUSE 执行器可能重复使用prepared statements 语句,BATCH执行器可以重复执行语句和批量更新。 --> <constructor-arg index="1" value="SIMPLE" /> </bean></beans>
链接池配置:
druid.initialSize=1druid.minIdle=2druid.maxActive=50druid.maxWait=60000druid.timeBetweenEvictionRunsMillis=60000druid.minEvictableIdleTimeMillis=300000druid.validationQuery=SELECT 'x'druid.testWhileIdle=truedruid.testOnBorrow=falsedruid.testOnReturn=falsedruid.poolPreparedStatements=truedruid.maxPoolPreparedStatementPerConnectionSize=20druid.filters=wall,stat
不知道是哪里导致慢了。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号