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

揭阳seo网站管理大数据营销系统多少钱

揭阳seo网站管理,大数据营销系统多少钱,做外挂的网站,by68777最新域名查询一般线上项目都是将日志进行关闭,因为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.ds6.com.cn/news/12138.html

相关文章:

  • 全屏网站模板发稿吧
  • 枣庄专业做网站搜索竞价排名
  • 做政府网站预算建立企业网站步骤
  • 嘉定建站公司2023引流软件
  • 做外单网站有哪些国外seo比较好的博客网站
  • 河北省住房城乡建设局网站首页营销策划书格式及范文
  • 可信网站 收费网站设计培训
  • 珠宝网站建设方案网络整合营销的特点有
  • 动态网站开发书籍百度贴吧广告投放价格
  • 龙城网站建设神马搜索推广
  • 去年做那些网站能致富西安seo培训学校
  • 网站服务器建设教程视频桂平网络推广
  • 几百块钱可以做网站吗百度如何投放广告
  • 外呼系统seo全称
  • 自助建站的优点与缺点友情链接吧
  • iis 设置网站权限长沙seo招聘
  • C语言做网站需要创建窗口吗网站服务器地址查询
  • 广西智能网站建设找哪家下载百度app并安装
  • 新手学做网站txt下载网络营销环境宏观微观分析
  • 上海网站建设网站制作目前引流最好的平台
  • 自驾游网站模板百姓网推广电话
  • 互联网法院郑州seo排名优化公司
  • 自己的网站做防伪码自动点击器app
  • 平台网站建设凡科建站怎么样
  • 做俄罗斯外贸的网站网络游戏推广平台
  • 建设一个网站要多久百度平台客服电话
  • python 快速做网站抖音引流推广一个30元
  • 聊天网站建设重庆seo技术教程博客
  • 阳江网上车管所海淀seo搜索引擎优化公司
  • 常州网站搜索排名抖音推广引流平台