一、基本信息
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