<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Allen]]></title><description><![CDATA[美言可以市尊   美行可以加人]]></description><link>https://blog.youkuaiyun.com/tan01234</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tan01234]]></copyright><item><title><![CDATA[记录nginx wss 代理转发]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/111600535</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/111600535</guid><author>tan01234</author><pubDate>Wed, 23 Dec 2020 22:18:17 +0800</pubDate><description><![CDATA[var uniqueClientID = getUniqueID();
if (‘WebSocket’ in window) {
websocket = new WebSocket(“wss://aaa.com:8008/websocket/” + uniqueClientID + “”);
} else {
console.log(“您的浏览器不支持对话连接”);
}
websocket.onopen = function () {
console.log(“连接成功”);
}
websocket.onc]]></description><category></category></item><item><title><![CDATA[thymeleaf 调用后台方法]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/109238942</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/109238942</guid><author>tan01234</author><pubDate>Fri, 23 Oct 2020 17:05:36 +0800</pubDate><description><![CDATA[前端thymeleaf


&lt;th:block th:with="doctorInfo=${appMemberBL.getDoctorInfo(item.id)}" &gt;
    &lt;td th:text="${doctorInfo.department}"&gt;&lt;/td&gt;
    &lt;td th:text="${doctorInfo.title}"&gt;&lt;/td&gt;
    &lt;td th:text="${doctorInfo.goodatKeywords}]]></description><category></category></item><item><title><![CDATA[mysql  判断数据库某一张表是否存在]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/87930368</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/87930368</guid><author>tan01234</author><pubDate>Tue, 26 Feb 2019 10:36:07 +0800</pubDate><description><![CDATA[SHOW TABLES LIKE ‘%tb_bp_d_case%’; 
	select TABLE_NAME from INFORMATION_SCHEMA.TABLES whereTABLE_SCHEMA=‘dbname’ and TABLE_NAME=‘tablename’ ;
	如果表不存在就建立这个表，那么可以直接用 create table if not exists tablename...]]></description><category></category></item><item><title><![CDATA[springboot————日志配置及分析]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/85235636</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/85235636</guid><author>tan01234</author><pubDate>Mon, 24 Dec 2018 16:50:07 +0800</pubDate><description><![CDATA[前言
日志在项目中应该算是最重要的部分之一，尤其是上线之后，好的日志配置能够将其优势发挥到极致，大大降低后期的维护成本，好的日志配置能够让程序员一眼看出项目的问题继而加以改善。这章我们就来学习一下SpringBoot中的日志配置

正文
Spring Boot在所有内部日志中使用Commons Logging，但是默认配置也提供了对常用日志的支持，如：Java Util Logging，Log4J...]]></description><category></category></item><item><title><![CDATA[mybatis做like模糊查询]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/85114831</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/85114831</guid><author>tan01234</author><pubDate>Thu, 20 Dec 2018 11:50:52 +0800</pubDate><description><![CDATA[1.入参的时候，就直接将“%%”拼接上，

mapParam.put(&quot;cgropName&quot;, &quot;%&quot;+cgropName+&quot;%&quot;);

&amp;lt;if test=&quot;cgropName != null and cgropName != ''&quot;&amp;gt;
              AND A.CGROP_NAME LIKE #{cgropName}
 &amp;lt;/if&amp;gt;

 

2.bind标签
]]></description><category></category></item><item><title><![CDATA[Mybatis问题：There is no getter for property named 'unitId' in 'class java.lang.String']]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/85114208</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/85114208</guid><author>tan01234</author><pubDate>Thu, 20 Dec 2018 11:09:09 +0800</pubDate><description><![CDATA[org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'unitId' in 'class java.lang.String'
    at org.m...]]></description><category></category></item><item><title><![CDATA[java实现判断是手机端还是pc端访问网站]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/82834314</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/82834314</guid><author>tan01234</author><pubDate>Tue, 25 Sep 2018 08:54:30 +0800</pubDate><description><![CDATA[&amp;lt;code class=&quot;language-java&quot;&amp;gt;//判断是否为手机浏览器
    public static boolean JudgeIsMoblie(HttpServletRequest request) {
        boolean isMoblie = false;
        String[] mobileAgents = { &quot;iphone&quot;, &quot;andr...]]></description><category></category></item><item><title><![CDATA[数据库事务的隔离等级]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/81662033</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/81662033</guid><author>tan01234</author><pubDate>Tue, 14 Aug 2018 10:18:41 +0800</pubDate><description><![CDATA[数据库的事务隔离级别有4个，由低到高依次是Read uncommitted，Read Committed，Repeatable read，Serializable，这四个级别可以逐个解决脏读，不可重复读，幻读等问题。

Tables
			脏读
			不可重复读
			幻读
		Read uncommitted
			√
			√
			√
		Read Committed
			×
			√
	...]]></description><category></category></item><item><title><![CDATA[数据库事务的四大特性以及事务的隔离级别]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/81662016</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/81662016</guid><author>tan01234</author><pubDate>Tue, 14 Aug 2018 10:17:52 +0800</pubDate><description><![CDATA[　本篇讲诉数据库中事务的四大特性（ACID），并且将会详细地说明事务的隔离级别。

　　如果一个数据库声称支持事务的操作，那么该数据库必须要具备以下四个特性：

⑴ 原子性（Atomicity）

　　原子性是指事务包含的所有操作要么全部成功，要么全部失败回滚，这和前面两篇博客介绍事务的功能是一样的概念，因此事务的操作如果成功就必须要完全应用到数据库，如果操作失败则不能对数据库有任何影响。

⑵ ...]]></description><category></category></item><item><title><![CDATA[反向代理，负载均衡——nginx理论]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/80941689</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/80941689</guid><author>tan01234</author><pubDate>Fri, 06 Jul 2018 15:29:18 +0800</pubDate><description><![CDATA[nginx是什么？　　nginx是一个强大的web服务器软件，用于处理高并发的http请求和作为反向代理服务器做负载均衡。具有高性能、轻量级、内存消耗少，强大的负载均衡能力等优势。 nginx架构？　　如上官方示意图所示，nginx启动以后，会在系统中以daemon的方式在后台运行，其中包括一个master进程，n(n&amp;gt;=1)个worker进程。　　其中，master进程用于接收来自外界的信...]]></description><category></category></item><item><title><![CDATA[RabbitMQ的应用场景以及基本原理介绍]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/80753932</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/80753932</guid><author>tan01234</author><pubDate>Wed, 20 Jun 2018 23:07:40 +0800</pubDate><description><![CDATA[1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明：用户注册后，需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 (1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必须的,它只是一个...]]></description><category></category></item><item><title><![CDATA[log4j 2配置信息]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/80753856</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/80753856</guid><author>tan01234</author><pubDate>Wed, 20 Jun 2018 22:58:57 +0800</pubDate><description><![CDATA[ 一、背景　　最近由于项目的需要，我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本，那随之而来的slf4j整合log4j的配置（使用Slf4j集成Log4j2构建项目日志系统的完美解决方案）以及log4j2配置文件的详解，就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml配置文件的各项标签的意义。二、配置全解　　1.关于配置文件的名称以及在项目中的存放位置　　　　l...]]></description><category></category></item><item><title><![CDATA[使用BufferedReader(字符流)、BufferedInputStream（字节流）读取文件中的汉字、空格、字母、行数、数字的个数]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/80539537</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/80539537</guid><author>tan01234</author><pubDate>Fri, 01 Jun 2018 16:38:58 +0800</pubDate><description><![CDATA[ File stream = new File(&quot;d:/test.txt&quot;);    	  int num = 0;      //数字数              int letter = 0;    //字母数              int line = 0;    //行数              int space = 0;  //空格数              int word=...]]></description><category></category></item><item><title><![CDATA[list与Set、Map区别及适用场景]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/78781483</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/78781483</guid><author>tan01234</author><pubDate>Tue, 12 Dec 2017 14:19:30 +0800</pubDate><description><![CDATA[1、List,Set都是继承自Collection接口，Map则不是

2、List特点：元素有放入顺序，元素可重复 ，Set特点：元素无放入顺序，元素不可重复，重复元素会覆盖掉，（注意：元素虽然无放入顺序，但是元素在set中的位置是有该元素的HashCode决定的，其位置其实是固定的，加入Set 的Object必须定义equals()方法 ，另外list支持for循环，也就是通过下标来遍历，也可以用迭代器，但是set只能用迭代，因为他无序，无法用下标来取得想要的值。） 

3.Set和List对比： 
S]]></description><category></category></item><item><title><![CDATA[Java中的equals和==]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/78192591</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/78192591</guid><author>tan01234</author><pubDate>Tue, 10 Oct 2017 14:49:39 +0800</pubDate><description><![CDATA[浅谈Java中的equals和==

　　在初学Java时，可能会经常碰到下面的代码：

1 String str1 = new String("hello");
2 String str2 = new String("hello");
3         
4 System.out.println(str1==str2);
5 System.out.println(str1.equals]]></description><category></category></item><item><title><![CDATA[JSP九大内置对象及四个作用域]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/78113675</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/78113675</guid><author>tan01234</author><pubDate>Wed, 27 Sep 2017 15:47:52 +0800</pubDate><description><![CDATA[equest           请求对象　            类型 javax.servlet.ServletRequest        作用域 Request

response          响应对象              类型 javax.servlet.SrvletResponse        作用域 Page

pageContext       页面上下文对象]]></description><category></category></item><item><title><![CDATA[jquery checkbox 全选 反选 子级全选默认选中父级]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/77746693</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/77746693</guid><author>tan01234</author><pubDate>Thu, 31 Aug 2017 15:06:20 +0800</pubDate><description><![CDATA[js中：


label>input type="checkbox" id="cb_all"/>全选label>

   

    label>input type="checkbox" class="cb_fruit"/>苹果label>

    label>input type="checkbox" class="cb_fruit"/>香蕉label>

    la]]></description><category></category></item><item><title><![CDATA[mybatis查询时间段sql语句]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/77527910</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/77527910</guid><author>tan01234</author><pubDate>Thu, 24 Aug 2017 11:21:21 +0800</pubDate><description><![CDATA[public class QueryRo {

    private String beginTime;

    private String endTime;

    public String getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(String beginTime) {]]></description><category></category></item><item><title><![CDATA[nodejs+layui+laytpl实现分页的例子]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/77507596</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/77507596</guid><author>tan01234</author><pubDate>Wed, 23 Aug 2017 17:12:32 +0800</pubDate><description><![CDATA[网站：
http://www.layui.com/doc/modules/laypage.html



   
div class="layer-left-box-foot-right">
    div id="pageDemo">div>
div>



html页面的js代码：


script>
    var sum='{{ d.data.size}}';  //]]></description><category></category></item><item><title><![CDATA[jquery  根据name属性值查找]]></title><link>https://blog.youkuaiyun.com/tan01234/article/details/77446422</link><guid>https://blog.youkuaiyun.com/tan01234/article/details/77446422</guid><author>tan01234</author><pubDate>Mon, 21 Aug 2017 10:23:46 +0800</pubDate><description><![CDATA[$("div[id]") 选择所有含有id属性的div元素 
$("input[name='keleyicom']") 选择所有的name属性等于'keleyicom'的input元素 

$("input[name!='keleyicom']") 选择所有的name属性不等于'keleyicom'的input元素 

$("input[name^='keleyi']") 选择所有的na]]></description><category></category></item></channel></rss>