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

网页版1688网站排名优化价格

网页版1688,网站排名优化价格,平台网站建设设计,怎样做个做外贸的网站一般线上项目都是将日志进行关闭,因为mybatis日志打印,时间长了,会占用大量的内存,如果我想在我指定的地方进行打印sql情况,怎么玩呢! 下面这个场景: 某天线上的项目出bug了,日志打印…

一般线上项目都是将日志进行关闭,因为mybatis日志打印,时间长了,会占用大量的内存,如果我想在我指定的地方进行打印sql情况,怎么玩呢!
下面这个场景:
某天线上的项目出bug了,日志打印出来是更新成功的,但是数据库的数据却没有更新,这时候我想给执行这条sql打印出来,方便查看,但是一旦开启mybatis的日志打印功能,就回去全局打印所有的日志,我只想在我想打印的地方打印sql,这时候怎么办呢!见下面的列子:
我想在下面红色箭头处打印这句sql在这里插入图片描述
这时候怎么做呢,咱们可以这样,先将SqlSessionFactory对象注入进来,
如下图:

private final SqlSessionFactory sqlSessionFactory;@Autowiredpublic LoginService(SqlSessionFactory sqlSessionFactory) {this.sqlSessionFactory = sqlSessionFactory;}

在这里插入图片描述
然后在需要打印的地方加上下面的代码即可:

// 获取执行的SQL语句并打印try (SqlSession sqlSession = sqlSessionFactory.openSession()) {Configuration sqlSessionConfiguration = sqlSession.getConfiguration();BoundSql boundSql = sqlSessionConfiguration.getMappedStatement("com.green.testlocalhost.mapper.AdminUserMapper.selectOneByExample").getSqlSource().getBoundSql(userExample);String sql = StringUtils.getExecSql(sqlSessionConfiguration, boundSql);System.out.println("本次执行的sql语句::" + sql);}

在这里插入图片描述
注意:com.green.testlocalhost.mapper.AdminUserMapper.selectOneByExample 这个是StatementId,也就是你主动调用db框架的那个类或者接口的包路径(com.green.testlocalhost.mapper.AdminUserMapper),然后在路径后面拼接调用的方法(selectOneByExample )即可

用到的工具方法如下:

/*** 获取执行的sql语句* @param configuration* @param boundSql* @return*/public static String getExecSql(Configuration configuration, BoundSql boundSql) {try {Object parameterObject = boundSql.getParameterObject();List<ParameterMapping> parameterMappings = boundSql.getParameterMappings();String sql = boundSql.getSql().replaceAll("[\\s]+", " ");if (!parameterMappings.isEmpty() && parameterObject != null) {TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry();if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) {sql = sql.replaceFirst("\\?", getParameterValue(parameterObject));} else {MetaObject metaObject = configuration.newMetaObject(parameterObject);for (ParameterMapping parameterMapping : parameterMappings) {String propertyName = parameterMapping.getProperty();Object obj;if (metaObject.hasGetter(propertyName)) {obj = metaObject.getValue(propertyName);sql = sql.replaceFirst("\\?", getParameterValue(obj));} else if (boundSql.hasAdditionalParameter(propertyName)) {obj = boundSql.getAdditionalParameter(propertyName);sql = sql.replaceFirst("\\?", getParameterValue(obj));}}}}return sql;} catch (Exception var11) {return "";}}private static final SimpleDateFormat SIMPLE_DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private static String getParameterValue(Object obj) {String value;if (obj instanceof String) {value = "'" + obj + "'";} else if (obj instanceof Date) {value = "'" + SIMPLE_DATE_FORMAT.format(obj) + "'";} else if (obj != null) {value = obj.toString();} else {value = "";}return value;}

这样就可以在你指定的代码地方打印sql而不是全局打印sql了

http://www.yidumall.com/news/109502.html

相关文章:

  • 太仓网站开发公司友情链接赚钱
  • 修改网站logo企业网络营销策划书范文
  • 福建微网站建设价格营销策略是什么
  • 国内做网站最好的公司今日nba数据帝
  • 义乌网站优化百度平台营销宝典
  • 怎么通过淘宝优惠券做网站赚钱廊坊优化外包
  • 网站建设 客户评价电商卖货平台有哪些
  • 网站统计源码下载做任务赚佣金一单10块
  • 网站的目录怎样做的2023年免费b站推广大全
  • 千博企业网站管理系统 后台拿shell电商网站运营
  • 淄博北京网站建设中国教师教育培训网
  • 电子商务网站预算360免费做网站
  • 深圳本地做网站百度打开百度搜索
  • 苗木网站模板长沙网站seo排名
  • 高端定制网站开发需要多少钱seo排名推广工具
  • 商城网站建设net2006上海最新新闻热点事件
  • 服务 好的网站制作百度搜索引擎排名规则
  • 印刷个性化网站建设的意义搜索引擎是指什么
  • 如何用dw做动态网站百度一下手机版首页
  • wps免费模板网站sem账户托管公司
  • 新网 主办网站已备案百度代理查询系统
  • 西宁做网站最好的公司哪家好推广是什么意思
  • 常州企业网站网站关键词排名优化工具
  • 宝鸡外贸网站建设chrome谷歌浏览器官方下载
  • 灵璧哪有做网站的宁德市房价
  • 东莞网站建设与网络推广宁波网络推广优化公司
  • 合肥哪家做网站好微信搜一搜怎么做推广
  • 淘宝客单页网站怎么做免费推广平台
  • 冠县网站建设软文有哪几种类型
  • 网站 中国最早做网站的百度软件市场