missfresh问题记录
一、基本信息
1、登陆机器 ssh lina02@mjump.missfresh.net -p2222
二、问题
1、分页问题:job_id为空时能查询出来(笛卡尔乘积),需要加上AND res.job_id IS NOT NULL AND task.job_id IS NOT NULL AND res.job_id !='' AND task.job_id !=''
<resultMap id="dtoMap" type="com.mryx.matrix.codeanalyzer.dto.CodeScanTaskDto">
<id column="id" property="id" jdbcType="INTEGER"/>
<association property="codeScanResult" javaType="com.mryx.matrix.codeanalyzer.domain.CodeScanResult">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="blocker" property="blocker" jdbcType="INTEGER"/>
<result column="critical" property="critical" jdbcType="INTEGER"/>
<result column="major" property="major" jdbcType="INTEGER"/>
<result column="minor" property="minor" jdbcType="INTEGER"/>
<result column="info" property="info" jdbcType="INTEGER"/>
<result column="status" property="status" jdbcType="INTEGER"/>
<result column="blockerResultUrl" property="blockerResultUrl" jdbcType="VARCHAR"/>
<result column="criticalResultUrl" property="criticalResultUrl" jdbcType="VARCHAR"/>
<result column="majorResultUrl" property="majorResultUrl" jdbcType="VARCHAR"/>
</association>
<association property="projectCodeScanTask" javaType="com.mryx.matrix.codeanalyzer.domain.ProjectCodeScanTask">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="task_name" property="taskName" jdbcType="VARCHAR"/>
<result column="app_code" property="appCode" jdbcType="VARCHAR"/>
<result column="mode_of_scan" property="modeOfScan" jdbcType="SMALLINT"/>
<result column="app_branch" property="appBranch" jdbcType="VARCHAR"/>
<result column="user_name" property="userName" jdbcType="VARCHAR"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
</association>
</resultMap> <sql id="conditions">
<if test="id != null ">and id = #{id,jdbcType=INTEGER}</if>
<if test="taskName != null and taskName != '' ">and task_name like '%${taskName}%'</if>
<if test="appCode != null and appCode != '' ">and app_code like '%${appCode}%'</if>
<if test="modeOfScan != null ">and mode_of_scan = #{modeOfScan,jdbcType=INTEGER}</if>
<if test="appBranch != null and appBranch != '' ">and app_branch = #{appBranch,jdbcType=VARCHAR}</if>
<if test="baseVersion != null and baseVersion != '' ">and base_version = #{baseVersion,jdbcType=INTEGER}</if>
<if test="compareVersion != null and compareVersion != '' ">and compare_version =
#{compareVersion,jdbcType=VARCHAR}
</if>
<if test="timeTrigger != null and timeTrigger != '' ">and time_trigger = #{timeTrigger,jdbcType=TIMESTAMP}</if>
<if test="userName != null and userName != '' ">and user_name = #{userName,jdbcType=VARCHAR}</if>
<if test="createTime != null and createTime != '' ">and create_time = #{createTime,jdbcType=TIMESTAMP}</if>
<if test="updateTime != null and updateTime != '' ">and update_time = #{updateTime,jdbcType=TIMESTAMP}</if>
</sql> <select id="getCodeScanTask" resultMap="dtoMap"
parameterType="com.mryx.matrix.codeanalyzer.domain.ProjectCodeScanTask">
SELECT task.id,task.task_name,task.app_code,task.mode_of_scan,task.app_branch,task.user_name,task.update_time,
res.blocker,res.critical,res.major,res.minor,res.info,res.status,res.blocker_result_url,res.critical_result_url,res.major_result_url
FROM project_codescan_task AS task INNER JOIN code_scan_result AS res ON task.job_id=res.job_id
WHERE 1=1 AND res.job_id IS NOT NULL AND task.job_id IS NOT NULL AND res.job_id !='' AND task.job_id !=''
<include refid="conditions"/>
ORDER BY task.id DESC
limit #{startOfPage},#{pageSize}
</select> <!-- 分页查询总数 -->
<select id="pageTotal" resultType="java.lang.Integer"
parameterType="com.mryx.matrix.codeanalyzer.domain.ProjectCodeScanTask">
SELECT count(*)
FROM project_codescan_task AS task INNER JOIN code_scan_result AS res ON task.job_id=res.job_id
WHERE 1=1 AND res.job_id IS NOT NULL AND task.job_id IS NOT NULL AND res.job_id !='' AND task.job_id !=''
<include refid="conditions"/>
</select>
2、insert数据库问题: 字段属性有NOT NULL属性,mapper文件中的sql语句没有为该字段写值,导致插入不了数据库,字段需要有DEFAULT属性
3、实体类中的属性是驼峰命名的时候,mapper中的sql语句需要使用resultMap
<resultMap id="sonarMap" type="com.mryx.matrix.codeanalyzer.domain.CodeScanResult">
<id column="id" property="id" jdbcType="INTEGER"/>
<result column="task_name" property="taskName" jdbcType="VARCHAR"/>
<result column="app_code" property="appCode" jdbcType="VARCHAR"/>
<result column="type_of_scan" property="typeOfScan" jdbcType="SMALLINT"/>
<result column="mode_of_scan" property="modeOfScan" jdbcType="SMALLINT"/>
<result column="code_branch" property="codeBranch" jdbcType="VARCHAR"/>
<result column="user_name" property="userName" jdbcType="VARCHAR"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result column="blocker" property="blocker" jdbcType="INTEGER"/>
<result column="critical" property="critical" jdbcType="INTEGER"/>
<result column="major" property="major" jdbcType="INTEGER"/>
<result column="minor" property="minor" jdbcType="INTEGER"/>
<result column="info" property="info" jdbcType="INTEGER"/>
<result column="status" property="status" jdbcType="INTEGER"/>
<result column="blocker_result_url" property="blockerResultUrl" jdbcType="VARCHAR"/>
<result column="critical_result_url" property="criticalResultUrl" jdbcType="VARCHAR"/>
<result column="major_result_url" property="majorResultUrl" jdbcType="VARCHAR"/>
</resultMap> <!-- 分页查询 -->
<select id="getCodeScanTask" resultMap="sonarMap"
resultType="com.mryx.matrix.codeanalyzer.domain.CodeScanResult">
SELECT
id,task_name,app_code,type_of_scan,mode_of_scan,code_branch,user_name,update_time,
blocker,critical,major,minor,info,status,blocker_result_url,critical_result_url,major_result_url
FROM code_scan_result WHERE manual_or_automatic != 0
<include refid="conditions"/>
ORDER BY id DESC
limit #{startOfPage},#{pageSize}
</select>
发邮件:https://www.cnblogs.com/sea520/p/4565273.html
missfresh问题记录的更多相关文章
- 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL
在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...
- nginx配置反向代理或跳转出现400问题处理记录
午休完上班后,同事说测试站点访问接口出现400 Bad Request Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...
- Kali对wifi的破解记录
好记性不如烂笔头,记录一下. 我是在淘宝买的拓实N87,Kali可以识别,还行. 操作系统:Kali 开始吧. 查看一下网卡的接口.命令如下 airmon-ng 可以看出接口名称是wlan0mon. ...
- 2015 西雅图微软总部MVP峰会记录
2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅 ...
- 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)
分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...
- 我是如何在SQLServer中处理每天四亿三千万记录的
首先声明,我只是个程序员,不是专业的DBA,以下这篇文章是从一个问题的解决过程去写的,而不是一开始就给大家一个正确的结果,如果文中有不对的地方,请各位数据库大牛给予指正,以便我能够更好的处理此次业务. ...
- 前端学HTTP之日志记录
前面的话 几乎所有的服务器和代理都会记录下它们所处理的HTTP事务摘要.这么做出于一系列的原因:跟踪使用情况.安全性.计费.错误检测等等.本文将谥介绍日志记录 记录内容 大多数情况下,日志的记录出于两 ...
- ASP.NET Core应用中如何记录和查看日志
日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性.我们知道ASP.NET Core使用的是一个极具扩展性的日志系统,该系统由Logger.Logger ...
- python+uwsgi导致redis无法长链接引起性能下降问题记录
今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因 ...
随机推荐
- L87
Fear Makes Art More Engaging Emmanuel Kant spoke often about the sublime, and specifically how art b ...
- wingide 显示中文 及 配色方案
http://lihuipeng.blog.51cto.com/3064864/923231 网上收集的方法: 显示中文: 任意文本编辑器打开:x:\Wing IDE\bin\gtk-bin\etc\ ...
- MySQL-with rollup函数运用 _20160930
在博客里http://www.cnblogs.com/Mr-Cxy/p/5898839.html提到了行转列, 如果想在下面这个表下面添加一行 总计 数据行SQL代码怎么实现 并且根据9月金额进行城市 ...
- 【Lintcode】118.Distinct Subsequences
题目: Given a string S and a string T, count the number of distinct subsequences of T in S. A subseque ...
- MySql 官方存储引擎
存储引擎是为不同的表类型处理 SQL 操作的 MySql 组件.InnoDB 是默认的.最通用的存储引擎,也是官方推荐使用的存储引擎,除非一些特定案例.MySql 5.6 中的 CREATE TABL ...
- 蓝桥杯Log大侠(线段树单点区间更新)
标题:Log大侠 atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称Log大侠. 一天,Log大侠的好友 drd 有一些整数序列需要变换,Log大侠正好施展法力... 变换的规则是: ...
- JavaScript-Tool:three.js
ylbtech-JavaScript-Tool:three.js Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质等各种对象.你可以在它的主页 ...
- 6 git 生成SSH公钥/私钥 查看公钥
如果没有公钥的话就生成公钥私钥: $ ssh-keygen 然后连续回车(一次是位置,两次密码)
- Logstash-安装logstash-filter-multiline插件(解决logstash匹配多行日志)
ELK-logstash在搬运日志的时候会出现多行日志,普通的搬运会造成保存到ES中日志一条一条的保存,很丑,而且不方便读取,logstash-filter-multiline可以解决该问题. 接下来 ...
- css属性学习
CSS display 属性 display 属性规定元素应该生成的框的类型. none:此元素不会被显示. block:此元素将显示为块级元素,此元素前后会带有换行符. inline默认.此元素会被 ...