<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JavaWHD的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/JavaWHD</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; JavaWHD]]></copyright><item><title><![CDATA[如何在Ubuntu上安装 PostgreSQL]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/163083741</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/163083741</guid><author>JavaWHD</author><pubDate>Tue, 21 Jul 2026 18:11:34 +0800</pubDate><description><![CDATA[如何在 Ubuntu 上安装 PostgreSQL]]></description><category></category></item><item><title><![CDATA[Claude-Code-DeepSeek部署指南]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/162328858</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/162328858</guid><author>JavaWHD</author><pubDate>Fri, 26 Jun 2026 09:25:30 +0800</pubDate><description><![CDATA[Claude Code部署]]></description><category></category></item><item><title><![CDATA[JAVA计算两个日期之间的自然周数]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/131433508</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/131433508</guid><author>JavaWHD</author><pubDate>Wed, 28 Jun 2023 11:44:57 +0800</pubDate><description><![CDATA[JAVA计算两个日期之间的自然周数]]></description><category></category></item><item><title><![CDATA[新手多线程使用详细教程以及讲解]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/128387299</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/128387299</guid><author>JavaWHD</author><pubDate>Tue, 03 Jan 2023 11:40:42 +0800</pubDate><description><![CDATA[新手多线程使用详细教程]]></description><category></category></item><item><title><![CDATA[linux环境启动和关闭脚本]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/122987826</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/122987826</guid><author>JavaWHD</author><pubDate>Thu, 17 Feb 2022 17:22:00 +0800</pubDate><description><![CDATA[启动脚本
java -jar jar包名称 --spring.config.location=/外部配置文件路径/配置文件名称  &gt; catalina.out 2&gt;&amp;1 &amp;
echo "开始启动服务-----------"

关闭脚本
port=端口号
pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }');

if [  -n  "$pid"  ];  then
    ki]]></description><category></category></item><item><title><![CDATA[@Transactional抛出异常触发事务回滚]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/122065123</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/122065123</guid><author>JavaWHD</author><pubDate>Tue, 21 Dec 2021 16:10:40 +0800</pubDate><description><![CDATA[@Transactional事务回滚手动抛出异常]]></description><category></category></item><item><title><![CDATA[创建表、序列及存储过程语句]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/121933496</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/121933496</guid><author>JavaWHD</author><pubDate>Tue, 14 Dec 2021 17:43:59 +0800</pubDate><description><![CDATA[创建表语句
CREATE TABLE whd_table(
	a NUMBER(20),
	b VARCHAR2(50),
	c DATE DEFAULT SYSDATE,
	d VARCHAR2(50)
)

创建序列
CREATE sequence whd_seq
minValue 1
maxValue 999
START WITH 1
INCREMENT BY 1
nocache
cycle
ORDER;

创建存储过程
（有参数的存储过程，无参的就去除（））
CREATE OR REPLACE PR]]></description><category></category></item><item><title><![CDATA[ibatis和mybatis的简单区别]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/120544495</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/120544495</guid><author>JavaWHD</author><pubDate>Wed, 29 Sep 2021 11:37:24 +0800</pubDate><description><![CDATA[1.传入参数和传出参数的区别
ibatis传入参数用的是parameterClass 传出参数用的是resultClass
iBatis：&lt;select id="serchDemo" parameterClass="Map"  resultClass="BaseResultMap"&gt;  &lt;/select&gt;

mybatis传入参数用的是parameterType 传出参数用的是resultType
MyBatis：&lt;select id="serchDemo" parameter]]></description><category></category></item><item><title><![CDATA[调用webService的几种方式]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/120304171</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/120304171</guid><author>JavaWHD</author><pubDate>Wed, 15 Sep 2021 11:40:41 +0800</pubDate><description><![CDATA[调用webService的几种方式
方式一（比较通用）：
		//webService地址
        String url = "xxxx/xxxService?wsdl";
        //创建一个service
        Service service = new Service();
        //创建一个Call对象
        Call call = (Call) service.createCall();
        //设置地址
        call.setT]]></description><category></category></item><item><title><![CDATA[调取第三方接口的post及get方法]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/118693431</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/118693431</guid><author>JavaWHD</author><pubDate>Tue, 13 Jul 2021 10:04:34 +0800</pubDate><description><![CDATA[/**
	 * 向server端发送请求，并获取返回参数
	 * 
	 * @param actionUrl
	 * @param method
	 * @param param
	 * @return
	 */
	public static String sendPostRequest(String serverUrl, String param) {
		logger.debug("+++++++++++++++sendPostRequest方法开始!+++++++++++++++++++");
		S]]></description><category></category></item><item><title><![CDATA[调取接口获取流，将其转换为文件]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/118693100</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/118693100</guid><author>JavaWHD</author><pubDate>Tue, 13 Jul 2021 10:02:17 +0800</pubDate><description><![CDATA[关于这个获取流转换成文件，乱码问题，我们始终无法避免。
奉上正确方法
/**
	 * 向server端发送请求，并获取返回参数
	 * @param actionUrl
	 * @param param
	 * @return
	 */
public static byte[] sendPostRequest(String serverUrl,String param) {
		logger.debug("+++++++++++++++sendPostRequest方法开始!++++++++++++++++]]></description><category></category></item><item><title><![CDATA[关于JSONObject转实体和普通方法（通用）转实体]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/118326264</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/118326264</guid><author>JavaWHD</author><pubDate>Tue, 29 Jun 2021 10:05:21 +0800</pubDate><description><![CDATA[JSONObject转实体
JSONObject主要分为net.sf.json.JSONObject和com.alibaba.fastjson.JSONObject。
其实这两个JSONObject常用的功能都有，但是用法是不一样的。
JSON字符串使用net.JSONObject转实体主要用到的方法：
Student bean = (Student ) JSONObject.toBean(JSONObject.fromObject(o), Student .class);

JSON字符串使用fastjs]]></description><category></category></item><item><title><![CDATA[springboot项目将日志输出保存至本地]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/117807985</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/117807985</guid><author>JavaWHD</author><pubDate>Fri, 11 Jun 2021 10:29:32 +0800</pubDate><description><![CDATA[首先需要在你的yml文件中配置一下日志：
我是将日志文件配置在一个文件里，所以我在yml中引入我配置的文件：
logging:
  config: classpath:logback-core.xml

然后在logback-core.xml文件中配置，日志的输出
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;configuration debug="false"&gt;
    &lt;!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对]]></description><category></category></item><item><title><![CDATA[表索引的定义、创建和使用]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/116715567</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/116715567</guid><author>JavaWHD</author><pubDate>Wed, 12 May 2021 18:39:40 +0800</pubDate><description><![CDATA[什么是索引
索引的描述：
在关系数据库中，索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构，它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录，可以根据目录中的页码快速找到所需的内容。
索引的作用：
当表中有大量记录时，若要对表进行查询，第一种搜索信息方式是全表搜索，是将所有记录一一取出，和查询条件进行一一对比，然后返回满足条件的记录，这样做会消耗大量数据库系统时间，并造成大量磁盘I/O操作；第二种就是在表中建立索引，然后]]></description><category></category></item><item><title><![CDATA[Controller接收不到POST方式提交的参数]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/116596098</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/116596098</guid><author>JavaWHD</author><pubDate>Mon, 10 May 2021 14:54:25 +0800</pubDate><description><![CDATA[SpringMVC接收不到POST方式提交的参数：
表单默认属性为
application/x-www-form-urlencoded
如果使用GET则强制使用application/x-www-form-urlencoded方式
ajax提交表单使用contentType : "application/json;charset=utf-8"使SpringMVC获取不到POST提交的参数。
解决方案：
1、如果springmvc要接收
multipart/form-data传输的数据可在上下文中配置mult]]></description><category></category></item><item><title><![CDATA[java跳过工作日（周六周日）]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/116161430</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/116161430</guid><author>JavaWHD</author><pubDate>Mon, 26 Apr 2021 16:38:36 +0800</pubDate><description><![CDATA[java简单的跳过工作日方法（只跳过周六周日）
	public static void main(String[] args){
        Date date = getData(new Date(), -7);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = sdf.format(date);
        System.out.println(f]]></description><category></category></item><item><title><![CDATA[PageHelper在各种（springboot、SSM等）项目中的使用]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/114830716</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/114830716</guid><author>JavaWHD</author><pubDate>Mon, 15 Mar 2021 14:10:07 +0800</pubDate><description><![CDATA[1.关于在springboot项目中使用PageHelper分页插件：
在springboot项目总使用PageHelper插件比较容易：
直接在pom中引入jar包

然后在controller中调用，然后将查询的结果传给PageInfo，最后可以在PageInfo中拿到一想要的数据；
具体使用步骤如下图：
（Servcice的代码就写了一个简单的查询）

2.关于在SSM项目中使用PageHelper分页插件：
当然还需要在pom文件中引入对应的jar包：
然后还需要在mybatis-config.xm]]></description><category></category></item><item><title><![CDATA[Cause: java.lang.IllegalArgumentException:invalidcomparison: java.util.Date and java.lang.String]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/114277710</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/114277710</guid><author>JavaWHD</author><pubDate>Tue, 02 Mar 2021 10:19:33 +0800</pubDate><description><![CDATA[新手在写xml时常见的错误：
Error updating database. Cause: java.lang.IllegalArgumentException: invalidcomparison: java.util.Date and java.lang.String

解决方法：
在xml中，Date类型在做非空判断的时候只能用startDate != null"，
而不能用 nowYear != null and nowYear != ‘’ "  ，只有字符串，才可以用!=’’，时间类型的只能用n]]></description><category></category></item><item><title><![CDATA[时间类型转换的问题“2021-01-20T10:09:11Z”]]></title><link>https://blog.youkuaiyun.com/JavaWHD/article/details/113931020</link><guid>https://blog.youkuaiyun.com/JavaWHD/article/details/113931020</guid><author>JavaWHD</author><pubDate>Mon, 22 Feb 2021 10:38:58 +0800</pubDate><description><![CDATA[关于新手碰到时间类型转换的问题：
拿到的时间为字符串，格式为：“2021-01-20T10:09:11Z”。
容易理解的解决方法：
先将该字符串转换为Date类型：
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd’T’HH:mm:ss’Z’”);
Date applyDate = sdf.parse(“2021-01-20T10:09:11Z”);
再将Date类型转换为需要的字符串类型：
SimpleDateFormat sdf1 = new]]></description><category></category></item></channel></rss>