<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[woshihw的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/woshihw</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; woshihw]]></copyright><item><title><![CDATA[spring boot mybatis-plus 相同事务中同一个查询返回结果一样问题]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/112919217</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/112919217</guid><author>woshihw</author><pubDate>Thu, 21 Jan 2021 11:13:03 +0800</pubDate><description><![CDATA[步骤1：查询用户信息

步骤2：修改该用户信息

步骤3：执行步骤1

结果：返回的数据和步骤1的数据一样，并未查询到步骤2的变更内容

原因：mybatis 一级缓存问题

解决：在步骤1执行的xml内增加 useCash flushCash配置


&lt;select id="queryUserDeviceTmp" resultType="java.util.HashMap" useCache="false" flushCache="true"&gt;


...]]></description><category></category></item><item><title><![CDATA[Java 实体转换工具类]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/104964584</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/104964584</guid><author>woshihw</author><pubDate>Thu, 19 Mar 2020 12:15:38 +0800</pubDate><description><![CDATA[import com.github.dozermapper.core.DozerBeanMapperBuilder;
import com.github.dozermapper.core.Mapper;

import java.util.ArrayList;
import java.util.List;

/**
 * 实体和业务对象转换工具类
 *
 * @date 2020-02-21
 ...]]></description><category></category></item><item><title><![CDATA[Scheduling 配置多线程]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/81353260</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/81353260</guid><author>woshihw</author><pubDate>Thu, 02 Aug 2018 10:00:13 +0800</pubDate><description><![CDATA[import java.util.concurrent.Executor;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.aop.interceptor.SimpleAsyncUncaughtExceptionHandler;
import ...]]></description><category></category></item><item><title><![CDATA[SpringMVC接收复杂集合参数]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/78436553</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/78436553</guid><author>woshihw</author><pubDate>Fri, 03 Nov 2017 16:04:45 +0800</pubDate><description><![CDATA[Spring MVC在接收集合请求参数时，需要在Controller方法的集合参数里前添加@RequestBody，而@RequestBody默认接收的enctype (MIME编码)是application/json，因此发送POST请求时需要设置请求报文头信息，否则Spring MVC在解析集合请求参数时不会自动的转换成JSON数据再解析成相应的集合。以下列举接收List、List、List>]]></description><category></category></item><item><title><![CDATA[本地文件数据源]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/74943052</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/74943052</guid><author>woshihw</author><pubDate>Tue, 11 Jul 2017 11:42:26 +0800</pubDate><description><![CDATA[import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import lombok.extern.log4j.Log4j2;

import j]]></description><category></category></item><item><title><![CDATA[线程池类，线程管理器：创建线程，执行任务，销毁线程，获取线程基本信息]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/74943020</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/74943020</guid><author>woshihw</author><pubDate>Tue, 11 Jul 2017 11:40:25 +0800</pubDate><description><![CDATA[import java.util.LinkedList;
import java.util.List;

/**
 * 线程池类，线程管理器：创建线程，执行任务，销毁线程，获取线程基本信息
 */
public final class ThreadPool {
    // 线程池中默认线程的个数为5  
    private static int worker_num = 5;
    // ]]></description><category></category></item><item><title><![CDATA[mysql 常用命令]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/53433602</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/53433602</guid><author>woshihw</author><pubDate>Fri, 02 Dec 2016 13:07:10 +0800</pubDate><description><![CDATA[mysql -h localhost -u root -proot;
grant all privileges on db.* to 'root'@'%';
flush privileges;
select host,user,password from mysql.user;
grant all privileges on db.* to 'root'@'192.168.1.100' ident]]></description><category></category></item><item><title><![CDATA[线程池例子]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/53106677</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/53106677</guid><author>woshihw</author><pubDate>Wed, 09 Nov 2016 22:10:52 +0800</pubDate><description><![CDATA[ThreadPool
import org.apache.log4j.Logger;

import java.util.Collections;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;

/**
 * 线程池类，线程管理器：创建线程，执行任务，销毁线程，获取线程基本信息
 */
pub]]></description><category></category></item><item><title><![CDATA[HttpClient工具类]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/52989004</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/52989004</guid><author>woshihw</author><pubDate>Tue, 01 Nov 2016 00:16:22 +0800</pubDate><description><![CDATA[直接贴码
import java.io.*;
import java.net.ConnectException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set]]></description><category></category></item><item><title><![CDATA[Mybatis代码自动生成插件]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/52988910</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/52988910</guid><author>woshihw</author><pubDate>Tue, 01 Nov 2016 00:02:27 +0800</pubDate><description><![CDATA[1、先在pom文件中配置插件

        
            
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    src/main/resource]]></description><category></category></item><item><title><![CDATA[报表工具记录]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/51241870</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/51241870</guid><author>woshihw</author><pubDate>Mon, 25 Apr 2016 14:06:44 +0800</pubDate><description><![CDATA[http://acm.fjut.edu.cn/WabacusDemo/#]]></description><category></category></item><item><title><![CDATA[获取Java Exception异常详细信息，以便保存]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/51211362</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/51211362</guid><author>woshihw</author><pubDate>Thu, 21 Apr 2016 17:53:41 +0800</pubDate><description><![CDATA[public static String getExceptionAllInfo(Exception ex) {
        ByteArrayOutputStream out = null;
        PrintStream pout = null;
        String ret = "";
        try {
        	out = new ByteArrayO]]></description><category></category></item><item><title><![CDATA[Spring MVC 解读——@Autowired、@Controller、@Service从原理层面来分析]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/50780587</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/50780587</guid><author>woshihw</author><pubDate>Wed, 02 Mar 2016 15:49:55 +0800</pubDate><description><![CDATA[Spring MVC 解读——@Autowired
一、@Autowired

    作为一个Spring开发者对@Autowired注解必定是非常了解了, 顾名思义自动装配，应该是Spring会自动将我们标记为@Autowired的元素装配好，与其猜测不如看看它的定义：






[java] view
 plain copy






@Target(]]></description><category></category></item><item><title><![CDATA[使用PowerDesigner设计数据库]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/50769893</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/50769893</guid><author>woshihw</author><pubDate>Tue, 01 Mar 2016 09:18:40 +0800</pubDate><description><![CDATA[设计数据库有如下6个主要步骤：
1、需求分析：了解用户的数据需求、处理需求、安全性及完整性要求；
2、概念设计：通过数据抽象，设计系统概念模型，一般为E-R模型；
3、逻辑结构设计：设计系统的模式和外模式，对于关系模型主要是基本表和视图；
4、物理结构设计：设计数据的存储结构和存取方法，如索引的设计；
5、系统实施：组织数据入库、编制应用程序、试运行；
6、运行维护：系统投入运行，长期]]></description><category></category></item><item><title><![CDATA[jquery中attr和prop的区别]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/50729217</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/50729217</guid><author>woshihw</author><pubDate>Wed, 24 Feb 2016 11:26:49 +0800</pubDate><description><![CDATA[jquery中attr和prop的区别




在高版本的jquery引入prop方法后，什么时候该用prop？什么时候用attr？它们两个之间有什么区别？这些问题就出现了。
关于它们两个的区别，网上的答案很多。这里谈谈我的心得，我的心得很简单：

对于HTML元素本身就带有的固有属性，在处理时，使用prop方法。对于HTML元素我们自己自定义的DOM属性，在处理时，使用attr方]]></description><category></category></item><item><title><![CDATA[oracle优化：避免全表扫描]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/50699320</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/50699320</guid><author>woshihw</author><pubDate>Fri, 19 Feb 2016 17:12:51 +0800</pubDate><description><![CDATA[1． 对返回的行无任何限定条件，即没有where 子句
 
 
2． 未对数据表与任何索引主列相对应的行限定条件
例如：在City-State-Zip列创建了三列复合索引，那么仅对State列限定条件不能使用这个索引，因为State不是索引的主列。
 
3． 对索引的主列有限定条件，但是在条件表达式里使用以下表达式则会使索引失效，造成全表扫描：
（1）where子句中对字段进行函数、]]></description><category></category></item><item><title><![CDATA[Mysql避免全表扫描sql查询优化]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/50699202</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/50699202</guid><author>woshihw</author><pubDate>Fri, 19 Feb 2016 17:00:33 +0800</pubDate><description><![CDATA[对查询进行优化，应尽量避免全表扫描，首先应考虑在 where 及 order by 涉及的列上建立索引:

 .尝试下面的技巧以避免优化器错选了表扫描：

·   使用ANALYZE TABLE tbl_name为扫描的表更新关键字分布。

·   对扫描的表使用FORCE INDEX告知MySQL，相对于使用给定的索引表扫描将非常耗时。

           SELECT *]]></description><category></category></item><item><title><![CDATA[简单的JSON增删改]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/50679247</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/50679247</guid><author>woshihw</author><pubDate>Wed, 17 Feb 2016 11:17:52 +0800</pubDate><description><![CDATA[var jsonStr1 = '[{"name":"test1","age":"11"},{"name":"test2","age":"22"}]';
var array = JSON.parse(jsonStr1);
array.push({"name":"test3","age":"33"});
array[0].age="444";
delete array[1];
var strJson]]></description><category></category></item><item><title><![CDATA[Java 拷贝文件及目录]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/47913825</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/47913825</guid><author>woshihw</author><pubDate>Sun, 23 Aug 2015 22:58:56 +0800</pubDate><description><![CDATA[import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class]]></description><category></category></item><item><title><![CDATA[js金额计算解决精度问题]]></title><link>https://blog.youkuaiyun.com/woshihw/article/details/47173565</link><guid>https://blog.youkuaiyun.com/woshihw/article/details/47173565</guid><author>woshihw</author><pubDate>Fri, 31 Jul 2015 17:58:25 +0800</pubDate><description><![CDATA[乘法
/**
 * 乘法得到金额数据（保留精度问题）
 * 调用例子：var total = Number(parseInt(num)).mul(parseFloat(dj));
 * @param arg
 * @returns {String}
 */
Number.prototype.mul = function (arg)   
{
    var m=0,s1=this.toStrin]]></description><category></category></item></channel></rss>