note

原创
2020/10/22 08:59
阅读数 18

<!--用户勾选,有则更新,无则插入  -->
       <update id="mergeColumnById">
       merge into MEMTABLECOLUMNS a using dual
        ON (a.userid = #{userId} AND a.columnname = #{columnName})
        when matched then 
        update set a.isshow = #{ColumnsShowType}
        when not matched then
        insert (columnname,isshow,tablename,userid)
              values 
            (#{columnName,jdbcType=VARCHAR},#{ColumnsShowType,jdbcType=VARCHAR},#{tableName,jdbcType=VARCHAR},#{userId,jdbcType=VARCHAR})
       </update>
 
 <!--通过省获取市  -->
select * from 
(select * from FIELDCODEVAL f join fieldcode d on f.codeid = d.codeid)a where  
a.codevalid like 'city_65__00' and  "SUBSTR"(valtext, 1, 2)  = '新疆'
 
//stringbuffer
sb = sb.delete(sb.length()-1, sb.length());
sb.setLength(0);

//myeclipse中svn标记
myeclipse偏好里搜索label   

 
 //mysql分页
 pagenum 页码   pageSize 分页条数
 select * from tablename limit (pagenum-1)*pageSize,pageSize
 
 
 //mybatis插件分页 pageBounds (mybatis-paginator-1.2.10.jar)
 PageBounds pageBounds = new PageBounds(pageNum, pageSize);
 return sqlSessionTempTab.selectList("queryResultDataFirstForEmail", param, pageBounds);
 // 获得结果集总数
 dataList = sourceDataDao.queryResultDataFirst(tableName, pageBounds ,param);
 PageList<Map<String, Object>> pageList = (PageList<Map<String, Object>>) dataList;
 rData.setTotalCount(pageList.getPaginator().getTotalCount());
 rData.setDataList(dataList);
 
 //mybatis中<selectKey>标签用法
  <insert id="insertSimWordSort" parameterType="WordSort">
       <selectKey resultType="String" keyProperty="wordsort" order="BEFORE">
          SELECT SEQ_SIMWORDSORT.NEXTVAL FROM DUAL
       </selectKey>
       INSERT INTO SIMWORDSORT(USERID,WORDSORT,CREATEDATE) VALUES(#{userid},#{wordsort},SYSDATE)  
   </insert>
 
 
 //list塞值
 List<String> list = new ArrayList<>();
 list = Lists.newArrayList("1","2","3","4","a");
 
 //去除list中的偶数
 List<Integer> list = Lists.newArrayList(1,2,3,4,5);
 Iterator<Integer> it = list.iterator();
        while(it.hasNext()){
            Integer next = it.next();
            if(next%2 == 0 ){
                it.remove();
            }
        }
        
 //list判空
 CollectionUtils.isNotEmpty(redlist)
 //addAll方法可以往集合中添加元素,也可往集合中添加一个集合
 Collections.addAll(list,9,20,56);
 //打乱集合中的元素
 Collections.shuffle(list);
 
 
  
---------------------------------------------------------------------------------------------------------------------------------------------------
//获取tomcat路径
String path = System.getProperty("catalina.home");
控制台: “tomcat路径为 E:\tomcat_sj\tomcat-7.0.64”

//获取环境变量值
String a = System.getenv("Path");

// 海贝非空查询
MAIN_DOCUMENT_FILE_MD5:{* TO *} 

//input框限制特殊符号
<input type="text" class="form-control" id="cxwb" name="qwjsCXTJ_ZHCX" onkeyup="this.value=this.value.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5\-]/g,\'\')";>

获取resources路径下文件
InputStream in = new FileInputStream(ReadXML.class.getResource("/" + fileName + ".xml").getFile());

//正则忽略大小写
(?i)password

//正则包含但不包括

username前面不含任何字母
String message = "Ausername=user_0";
String regexr2 = "(^((?![a-zA-Z]).)*username)=[0-9A-Za-z\u4e00-\u9fa5_.]{1,}";

//StringUtils
StringUtils.equals(Constant.PROCESS_IMPORT_4G, process)


// 添加DT字段
        String dtColumn = (String) retsMapFrom.get("DT");
        if (StringUtils.isEmpty(dtColumn)) {
            // 如果DT为空则设值
            String captureTime = (String) retsMapFrom.get("CAPTURE_TIME");
            if (null != captureTime) {
                long time = Long.parseLong(captureTime);
                Date date = new Date(time * 1000l);
                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
                String dt = sdf.format(date);
                retsMapTO.put("DT", dt);
            }
        }

//回车键搜索
 <textarea name="textarea" id="batchTextArea" id="textarea" style="resize:none;height: 38px;"
                  placeholder="支持上传文件类型 : txt, doc, xls, docx, xlsx"   cols="50" rows="2" class="textarea" onkeydown="if(event.keyCode==13){query();}"></textarea>
               <input type="submit" onclick="openFileDialog();" id="openFile"  name="button"   class="input5"  value="上传文件"/>
               <input type="submit" id="submit" onclick="query();" name="button"  class="input6"  value="搜索"/>

    
        
//查看表空间
SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name 
FROM dba_free_space 
GROUP BY tablespace_name; 

SELECT a.tablespace_name, 
a.bytes total, 
b.bytes used, 
c.bytes free, 
(b.bytes * 100) / a.bytes "% USED ", 
(c.bytes * 100) / a.bytes "% FREE " 
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c 
WHERE a.tablespace_name = b.tablespace_name 
AND a.tablespace_name = c.tablespace_name; 


//查oracle版本
select * from v$version

//navicat执行选中sql
ctrl+shift+r

//去重
select * from jzmt.SG_180723133809S005 a 
where a.rid in (  select max(b.RID) from jzmt.SG_180723133809S005 b group by msisdn_1,CAPTURE_TIME,MESSAGE) ORDER BY CAPTURE_TIME  DESC

//大于等于处理
  <!-- 资源统计对方号码  -->
   <select id="getMsi2ListData" resultType="String">
        <![CDATA[
      select * from(  
         select B.*, rownum  rn  from(    SELECT DISTINCT(MSISDN_2) MSI FROM 
            (SELECT C.* FROM (SELECT  A.MSISDN_2  FROM  ${tableName} A) C WHERE MSISDN_2 IS NOT NULL  ${timeSql}) 
         ) B)  where rn <= ${end} and rn >${begin}     
         ]]>
   </select>

   

       
       
// 获取时间     
SimpleDateFormat simpleDateFormatQueryTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar  calendar = Calendar.getInstance();
String time = (simpleDateFormatQueryTime.format(calendar.getTime()));  

//return 1546996551
public static long converDateToLong(String date) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    long time = 0;
    try {
        time = sdf.parse(date).getTime();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return time / 1000;
}

// UUID
String task_id = String.valueOf(System.currentTimeMillis()/1000) + UUID.randomUUID().toString().substring(0, 8);
//数据库当前时间
select sysdate from dual       


//转为string
ObjectUtils.toString(Protocollist)

ObjectUtils.toString(null) 结果为""
String.valueof(null)   结果为null

 
//chrome高版本表单提交
 1.  var queryAllForm="<form method='POST' style='display:none;' target='_blank' action='toKwqResult.do'>"
             +"<input name='obj' value='"+str+"'/>";
        
          var queryForm = $(queryAllForm);
          $(document.body).append(queryForm);
          queryForm.submit();
 
    //创建表单,实现post提交
2.  var postForm=document.createElement("form");
    postForm.setAttribute("method", "post");
    postForm.setAttribute("action", "downloadFile.do");
    var fileNameNode=document.createElement("input");
    fileNameNode.setAttribute("name", "uploadFilepath");
    fileNameNode.setAttribute("value", uploadFilepath);
    postForm.style.display='none';
    postForm.appendChild(fileNameNode);
    $(document.body).append(postForm);
    postForm.submit();
  
 
 //海贝分类统计
 rs = conn.categoryQuery("JZ_SUBJECT_90008,JZ_SUBJECT_90009", sql, "PROTOCOL", "PROTOCOL", 1000); 
 System.out.println(rs.getCategoryMap("PROTOCOL"));

//    {9941009=130, 9941008=105}   JZ_SUBJECT_90008,JZ_SUBJECT_90009
//    {9941008=105}                JZ_SUBJECT_90008
//    {9941009=130}                JZ_SUBJECT_90009
 
 
 
 //request获取中文转码(或者tomcat里service.xml改编码配置)
 String provinceName = new String(request.getParameter("provinceName").getBytes("iso-8859-1"),"utf-8");
 
 //转码
if(StringUtils.isNotEmpty(request.getParameter("keyWordString"))){
        keyWordString = URLDecoder.decode(request.getParameter("keyWordString"), ControllerConstant.UTF_8);
    }
  
     
    
//mybatis配置文件控制台打印sql
<!-- 打印sql -->
<!-- <setting name="logImpl" value="STDOUT_LOGGING" /> -->    
    
<!-- 值为空返回字段 -->
<setting name="callSettersOnNulls" value="true" />    
 
---------------------------------------------------------------------------------------------------------------------------------------------------

//并发包 线程相关 
ExecutorService service = Executors.newFixedThreadPool(4);
CountDownLatch latch = new CountDownLatch(protocols.size());
        for (String table : protocols) {
             WxzkQueryThread wxbqthread = new WxzkQueryThread(latch, ConditionsGroupByCount, table,st,et,adsService);
             service.submit(wxbqthread);
//                 wxbqthread.start();
        }
        
        service.shutdown();
        latch.await();
//public class WxzkQueryThread implements Runnable{

//json相关
Gson gson = new Gson();
JsonObject data = new JsonParser().parse(str).getAsJsonObject();
JsonObject a = data.get("nodes").getAsJsonObject();
JsonObject b = a.get("m06ysXRETRu--itUqN1wzA").getAsJsonObject();
JsonObject c = b.get("transport").getAsJsonObject();
String str1 = c.get("rx_size_in_bytes").getAsString();

---------------------------------------------------------------------------------------------------------------------------------------------------

//入库对应字段类型
switch (fieldType) {
    case "0":
    case "2":
    case "5":
    case "6":
    case "7":// 字符串
        if ("JZ_RESOURCE_0036".equals(protocol) && "KEYWORD".equals(fieldName)) {
            try {
                fieldValue = URLDecoder.decode(fieldValue, Constant.UTF8);
            } catch (Exception e) {
            }
        }
        record.addColumn(fieldName, fieldValue);
        break;
    case "1":// FLOAT     float   数字浮点型
        record.addColumn(fieldName, Float.parseFloat(fieldValue));
        break;
    case "3":// LONG      long   数字长整型
        record.addColumn(fieldName, Long.parseLong(fieldValue));
        break;
    case "4":// DATE      date  日期型
        TRSInputColumn column = new TRSInputColumn(fieldName);
        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
        boolean flag = pattern.matcher(fieldValue).matches();
        // 时间日期
        if (flag && null != fieldValue && !"".equals(fieldValue)) {
            column.setDateValue(new Date(Long.parseLong(fieldValue) * 1000));
            record.addColumn(column);
        }
        break;
    case "8":// double    double  数字长浮点型
        record.addColumn(fieldName, Double.parseDouble(fieldValue));
        break;
    case "9":// boolean   boolean  布尔类型
        record.addColumn(fieldName, Boolean.parseBoolean(fieldValue));
        break;
    case "10":// integer   integer  数字整型
        record.addColumn(fieldName, Integer.valueOf(fieldValue));
        break;
    default:
        break;
---------------------------------------------------------------------------------------------------------------------------------------------------
//maven排除包
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.6</version>
    <exclusions>
        <exclusion>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
        </exclusion>
    </exclusions>
</dependency>

15367841675


---------------------------------------------------------------------------------------------------------------------------------------------------
//dubbo文件锁问题解决
<dubbo:registry protocol = "zookeeper" address="${zk_url}" file="${catalina.home}/conf/dubbo-registry/dubbo-registry.properties" />     

//获取客户端ip
/**
     * 获取客户端ip
     * @param request
     * @return
     */
    public static String getClientIP(HttpServletRequest request){
        String ip = request.getHeader("X-Forwarded-For");
        if(StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
            //多次反向代理后会有多个ip值,第一个ip才是真实ip
            int index = ip.indexOf(",");
            if(index != -1){
                return ip.substring(0, index);
            }else{
                return ip;
            }
        }
        
        ip = request.getHeader("X-Real-IP");
        if(StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgnoreCase(ip)){
            return ip;
        }
        
        return request.getRemoteAddr();
        
    }
---------------------------------------------------------------------------------------------------------------------------------------------------

//召回率 精确率

召回率(查全率):
针对原来的样本,表示样本中的正例有多少被正确预测了。
两种情况:将原样本中正类预测成正类(TP); 将原样本中正类预测成负类(FN)
R = TP/(TP + FN)

精确率(查准率):
针对预测结果而言,表示预测为正的样本中有多少是真正的正样本。
把正类预测成正类(TP); 把负类预测成正类(FP)
R = TP/(TP + FP)
---------------------------------------------------------------------------------------------------------------------------------------------------

//python捕获异常
    try:
        new_list1 = []
    except Exception as e:
        print(e)
---------------------------------------------------------------------------------------------------------------------------------------------------

//list技巧
List<String> list = Arrays.asList(d1, d2, d3)
list.sort(Comparator<Dog> ageComparator);

class ageComparator implements Comparator<Dog>{
        @Override
        public int compare(Dog o1, Dog o2) {
            return o1.getAge()-o2.getAge();
        }
    }

---------------------------------------------------------------------------------------------------------------------------------------------------
类的加载过程

1.加载
查找二进制文件并加载

2.连接
验证:确保加载的类的正确性
准备:为类的静态变量分配内存,并将其初始化为默认值
3.解析
将符号引用转为直接引用
4.初始化
为类的静态变量赋予正确的初始值

---------------------------------------------------------------------------------------------------------------------------------------------------
//时区相关
System.out.println(ZoneId.of("Asia/Shanghai"));
System.out.println(ZoneId.systemDefault());
System.out.println(ZoneId.from(ZonedDateTime.now()));
System.out.println(TimeZone.getDefault().toZoneId());


 

展开阅读全文
打赏
0
0 收藏
分享

作者的其它热门文章

加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部