<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_48619092的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_48619092</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_48619092]]></copyright><item><title><![CDATA[MyBatis——动态sql语句]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/123390266</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/123390266</guid><author>weixin_48619092</author><pubDate>Wed, 09 Mar 2022 23:28:03 +0800</pubDate><description><![CDATA[动态sql主要用于解决查询条件不确定的情况。也就是说：在实际开发中，经常需要根据用户是否输入了某个值，来确定是否需要这个条件。

MyBatis中用于动态sql的元素主要有：if、where、trim、set、foreach、choose等



1.if+where标签

XML文件代码


&lt;select id="listEmp" parameterType="Emp" resultType="Emp"&gt;
    select * from emp 
    &lt;where&gt;
..]]></description><category></category></item><item><title><![CDATA[JAVA——网络编程]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/123389383</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/123389383</guid><author>weixin_48619092</author><pubDate>Wed, 09 Mar 2022 23:14:09 +0800</pubDate><description><![CDATA[1.Sockete原理

是网络应用程序编程的接口和一种机制
	用套接字中的相关函数来建立连接和完成通信
	Socket可以看成在两个程序进行通讯连接中的一个端点




2.基于TCP的Socket编程



（1）交互过程

服务器程序创建一个ServerSocket,然后调用accept方法等待客户来连接
	客户端程序创建一个socket并请求与服务器建立连接
	刚才建立了连接的两个socket在一个单独的线程上对话
	服务器开始等待新的连接请求
（2）例子

Ⅰ.简单例子

①服务端


pack.]]></description><category></category></item><item><title><![CDATA[JAVA——JDBC进阶]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/123388707</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/123388707</guid><author>weixin_48619092</author><pubDate>Wed, 09 Mar 2022 22:12:18 +0800</pubDate><description><![CDATA[目录

1.​​​​​​使用PreparedStatement

2.封装JDBC

3.JDBC分页查询

4.事务的控制

5.工厂设计模式(解耦合)



1.​​​​​​使用PreparedStatement

（1）好处：避免SQL注入（SQL注入是一种注入攻击，可以执行恶意SQL语句。）

（2）例子

①数据库表


drop table if exists user;
create table user (
	name varchar(10),
	password varchar(15)
)]]></description><category></category></item><item><title><![CDATA[MyBatis——一级缓存及二级缓存]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/123382599</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/123382599</guid><author>weixin_48619092</author><pubDate>Wed, 09 Mar 2022 18:20:09 +0800</pubDate><description><![CDATA[一级缓存：

Mybatis对缓存提供支持，但是在没有配置的默认情况下，它只开启一级缓存，一级缓存只是相对于同一个SqlSession而言。所以在参数和SQL完全一样的情况下，我们使用同一个SqlSession对象调用一个Mapper方法，往往只执行一次SQL，因为使用SelSession第一次查询后，MyBatis会将其放在缓存中，以后再查询的时候，如果没有声明需要刷新，并且缓存没有超时的情况下，这次的SQL则会命中在缓存中保存的，取出当前缓存的数据，而不会再次发送SQL到数据库。

一级缓存的生命周期.]]></description><category></category></item><item><title><![CDATA[Java——线程]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122504198</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122504198</guid><author>weixin_48619092</author><pubDate>Wed, 09 Mar 2022 17:08:12 +0800</pubDate><description><![CDATA[线程和进程的区别

进程是计算机在执行的程序的实体，例如一个app

**每个进程都有独立的代码和数据空间，进程的切换 会有很大的开销同一类线程共享代码和数据空间

线程 一个程序内部的顺序控制流，例如在王者荣耀中听音乐

一个进程中可以包含一个或多个线程，一个线程就是一个程序内部的一条执行线索

**每个线程有独立运行的栈和程序计数器，线程切换的开销小



多线程的实现：

(1) 创建线程类 继承Thread类 或 实现 Runnable 接口

(2) 通过Thread类构造器来创建线程对象

..]]></description><category></category></item><item><title><![CDATA[Java——集合]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122466958</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122466958</guid><author>weixin_48619092</author><pubDate>Fri, 14 Jan 2022 16:55:27 +0800</pubDate><description><![CDATA[List:(有序有重复)

Collection的子接口 用来包含一组 有序有重复 的对象 List中的元素都对应一个整数型的序号，记载其在容器中的位置，可以 根据序号存取容器中的元素



ArrayList是线性顺序存储的，是一种线性表 它的特性和数组很接近，数组大小是不变的，而ArrayList的大小是可以动态 改变的

ArrayList的构造方法


ArrayList 变量名 = new ArrayList() ;



ArrayList 变量名 = new ArrayList(int cap]]></description><category></category></item><item><title><![CDATA[Java——异常处理（三）——自定义异常]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122423520</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122423520</guid><author>weixin_48619092</author><pubDate>Tue, 11 Jan 2022 08:43:29 +0800</pubDate><description><![CDATA[自定义异常通常用来定义自己想要的异常抛出，例如查找商品抛出没有此商品异常等等....

自定义有两种类型：

一、定义为运行时异常（RunTimeException）


public class 异常名 extends RuntimeException{

        //自定义的变量体

}//抛出的是运行时异常，所以不需要处理




二、定义为非运行时异常（Exception）


public class 异常名 extends Exception{

 ...]]></description><category></category></item><item><title><![CDATA[Java——异常处理（二）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122418120</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122418120</guid><author>weixin_48619092</author><pubDate>Mon, 10 Jan 2022 22:12:03 +0800</pubDate><description><![CDATA[异常的第二种处理方法：消极处理，使用throws关键字

使用场景：如果一个方法中的语句执行时可能生成某种异常，但是并不能确定如何 

处理，则可以在程序所在的函数声明后，使用throws关键字抛出异常 




用throws声明方法抛出异常，不进行处理。谁调用谁负责处理 

– 覆盖方法抛出异常时，可以抛出与被覆盖方法相同的异常或者被覆盖方 

法异常的子类异常。




throws抛出异常写法：

public static void testThrows() throws //抛出的异常类型（可跟]]></description><category></category></item><item><title><![CDATA[Java——异常处理（一）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122416808</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122416808</guid><author>weixin_48619092</author><pubDate>Mon, 10 Jan 2022 19:56:21 +0800</pubDate><description><![CDATA[定义：运行期间出现的错误，而不是编译时的错误

例如：

--打开一个不存在的文件

--网络连接中断

--操作数组越界等



异常大抵分为两类：

1.检查性异常（非RuntimeException）：

若系统运行时可能产生该类异常，则必须写出相应的处理代码，否则无法通 

过编译

--例如：整数除以0，数组越界等

2.非检查异常（RuntimeException）:

若系统运行时可能产生该类异常，则不必在程序中声明对该类异常的处理， 

就可以编译执行 

--例如：无法找到文件，空指针等
]]></description><category></category></item><item><title><![CDATA[Eclipse——快捷键]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122384838</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122384838</guid><author>weixin_48619092</author><pubDate>Sat, 08 Jan 2022 19:21:11 +0800</pubDate><description><![CDATA[1.main方法
main+Alt+/



2.System.out.println();//输出语句
syso+Alt+/



3.批量修改
Alt+Shift+R



4.for//循环语句
for+Alt+/



5.代码格式化
Ctrl+Shift+F



6.去掉未使用的import
Ctrl+Shift+o



7.单行注释
Ctrl+/



8.多行注释
选中多行+Ctrl+Shift+/



9.大小写转换
Ctrl+Shift+x：选中的转换为大写
Ctrl+Shift+.]]></description><category></category></item><item><title><![CDATA[权限修饰符的区分与区别]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/121549014</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/121549014</guid><author>weixin_48619092</author><pubDate>Sat, 08 Jan 2022 19:14:41 +0800</pubDate><description><![CDATA[--构造器和类的权限通常为public

--private的权限最小，限制类外访问，所以一般把类中的属性设置成private，让其他类不能直接访问到，以此来实现保护属性的目的

--但你不使用权限修饰符的时（就默认为default）的成员在类内以及同一个包中的其他类也可以访问

--protected所修饰的成员在类内，同一包中，所在的类的子类中都可以访问

按照权限从大到小排列为： 

public &gt; protected &gt; default &gt; private



不要把封装理..]]></description><category></category></item><item><title><![CDATA[上溯造型和下溯造性（解耦合）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122383076</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122383076</guid><author>weixin_48619092</author><pubDate>Sat, 08 Jan 2022 18:49:06 +0800</pubDate><description><![CDATA[上溯造型：

向上转型（Upcasting）— 子类转换为父类，自动转换；

前提 — 具有继承或实现关系；

向上转换损失了子类新扩展的属性和方法，仅可以使用从父类中继承的属性和方法


    Animal a=new Cat();  // 先new一个cat类的实例，然后赋值给Animal类型


这样写的就把Cat这个子类上溯到和Animal这个父类同等级了

但是如果Cat重写了Animal的方法时，用a点运算符调用的就是Cat重写的方法而不是原来Ani...]]></description><category></category></item><item><title><![CDATA[重写方法和重载方法的区别]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122383105</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122383105</guid><author>weixin_48619092</author><pubDate>Sat, 08 Jan 2022 17:23:46 +0800</pubDate><description><![CDATA[重写方法的规则：(通常是子类继承父类，重写父类方法)

1.子类和父类的方法名字相同
2.子类和父类的参数相同
3.返回类型相同
4.子类重写父类方法，访问权限只能大于等于父类的访问权限


package com.pzh.car;

public class Car {
 
	private String name;//定义了两个私有属性
	private int money;
	
	public void fee() {
		
	}//定义了一个费用的空方法，没有参数，没有返回值
	
	
	public]]></description><category></category></item><item><title><![CDATA[Java——this关键字]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122351203</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122351203</guid><author>weixin_48619092</author><pubDate>Thu, 06 Jan 2022 19:39:33 +0800</pubDate><description><![CDATA[属性可以和局部变量同名，使用关键字this进行区分


public class Employee{
         public void show(){
             int age = 20;//局部变量
             System.out.println(this.age);
             System.out.println(age);
               }
             public int age;//属性（int默认值是0）
  ]]></description><category></category></item><item><title><![CDATA[Java——命名规范]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122350605</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122350605</guid><author>weixin_48619092</author><pubDate>Thu, 06 Jan 2022 19:09:11 +0800</pubDate><description><![CDATA[1)、名称只能由字母、数字、下划线、$符号组成

2)、不能以数字开头

3)、名称不能使用JAVA中的关键字。

4)、坚决不允许出现中文及拼音命名。



各项命名：

1.类的命名：驼峰法命名规则

首个单词首字母小写，后续的每个单词首字母大写

例如：studentObject



2.方法命名：

首个单词首字母小写，后续的每个单词首字母大写

例如：sendMessage



3.常量名：

全大写用下划线分割

例如：INDEX_ONE




...]]></description><category></category></item><item><title><![CDATA[Java——面向对象基础（23种设计模式：单例模式）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/122347416</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/122347416</guid><author>weixin_48619092</author><pubDate>Thu, 06 Jan 2022 16:47:33 +0800</pubDate><description><![CDATA[package com.pzh;


/**
 * 单例模式（singleton）：保证一个类仅有一个实例，并提供一个访
问它的全局访问点。
单例模式要点：
某个类只能有一个实例；
它必须自行创建这个示例；
必须自行向整个系统提供这个实例。
单例模式实现：
1、拥有一个私有构造器；
2、提供一个自身静态私有的成员变量；
3、提供一个公有的静态公有的方法。
 * @author Mary
 *
 */

public class TestSingleLeton {

	//饿汉式
//	private Te.]]></description><category></category></item><item><title><![CDATA[JavaScript笔记——增删标签（DOM节点）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/121542658</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/121542658</guid><author>weixin_48619092</author><pubDate>Thu, 06 Jan 2022 16:33:45 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
    &lt;head&gt;
        &lt;meta charset="UTF-8"&gt;
        &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
        &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
   .]]></description><category></category></item><item><title><![CDATA[JavaScript笔记——轮播图（无缝滚动）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/120930147</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/120930147</guid><author>weixin_48619092</author><pubDate>Sun, 24 Oct 2021 10:22:05 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;Do.]]></description><category></category></item><item><title><![CDATA[JavaScript笔记——轮播图（淡入淡出类型）]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/120929768</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/120929768</guid><author>weixin_48619092</author><pubDate>Sun, 24 Oct 2021 09:47:01 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="ie=edge"&gt;
    &lt;title&gt;D..]]></description><category></category></item><item><title><![CDATA[JavaScript笔记——仿百度换肤]]></title><link>https://blog.youkuaiyun.com/weixin_48619092/article/details/120929870</link><guid>https://blog.youkuaiyun.com/weixin_48619092/article/details/120929870</guid><author>weixin_48619092</author><pubDate>Sun, 24 Oct 2021 09:31:21 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
    &lt;head&gt;
        &lt;meta charset="utf-8"&gt;
        
        &lt;style&gt;
        	*{margin: 0;padding: 0;list-style: none;border: 0;}
        	ul{overflow: hidden;margin: 100px auto;width: 700px;}
 .]]></description><category></category></item></channel></rss>