1.微信几种支付比较入参比较:
主要区别在appId,app支付和小程序支付的appId都是单独的。h5和微信内支付是一样的。
2.double类型的计算
double totalMoney = 0.00;
for (PaymentOrderVo order : list) {
totalMoney += Double.valueOf(order.getOrderMoney());
}
3.springboot持久化的定时任务经典讲解博客地址:
https://blog.csdn.net/u010648555/article/details/54863144
4.获取springboot项目中resource资源文件下的文件信息:
private static final String QUARTZ_YML_NAME = "/quartz.yml";
@Bean
public Properties initQuartzYml() throws IOException {
PropertiesFactoryBean propertiesFactoryBean = new PropertiesFactoryBean();
propertiesFactoryBean.setLocation(new ClassPathResource(QUARTZ_YML_NAME));
propertiesFactoryBean.afterPropertiesSet();
return propertiesFactoryBean.getObject();
}
5.springcloud中的eureka,config,zuul的关系和注意事项:
先启动注册中心eureka,然后启动配置中心为其他服务提供必须的配置。zuul网关如果没有用到配置中心,则它和配置中心的启动无先后。但是如果用到配置中心,则要先启动配置中心!
重要一点:如果zuul的相关配置提取到注册中心,但是eureka的配置不行。因为zuul网关启动时,是要先注册服务到eureka,这时和eureka还没有建立联系,无法使用已经注册到注册中心的配置中心!所以是无法获取注册中心的eureka配置。只有将eureka的配置放到zuul配置中直接读取使用。等注册上eureka后,其他的配置便可以从配置中心获取!
6.一个安装绿色版mysql的操作步骤博客:https://blog.csdn.net/qq_39135287/article/details/82117234#commentBox
下载MySQL的链接:https://dev.mysql.com/downloads/mysql/
7.mysql多字段排序的sql举例
SELECT *
FROM goods_spu_info
WHERE spu_status=1
<if test="null != cid and '' != cid">AND cid=#{cid}</if>
order by create_time desc,code desc
8.HttpSession
一、概述
HttpSession是由JavaWeb提供的,用来会话跟踪的类。session是服务器端对象,保存在服务器端!!!
HttpSession是Servlet三大域对象之一,所以它也有setAttribute()、getAttribute()、removeAttribute()方法。
HttpSession底层依赖Cookie,或是URL重写!
二、HttpSession作用
会话范围:会话范围是某个用户从首次访问服务器开始,到该用户关闭浏览器结束!
会话:一个用户对服务器的多次连贯性请求!所谓连贯性请求,就是该用户多次请求中间没有关闭浏览器!
服务器会为每个客户端创建一个session对象,session就好比客户在服务器端的账户,它们被服务器保存到一个Map中,这个Map被称之为session缓存!
Servlet中得到session对象:HttpSession session = request.getSession();
Jsp中得到session对象:session是jsp内置对象之下,不用创建就可以直接使用!
session域相关方法:
设置属性:void setAttribute(String name, Object value);
获取属性:Object getAttribute(String name);
删除属性:void removeAttribute(String name);
JavaWeb之HttpSession
9.BeanUtils.copyProperties
BeanUtils.copyProperties是一个浅拷贝方法,复制属性时,我们只需要把DTO对象和要转化的对象两个的属性值设置为一样的名称,并且保证一样的类型就可以了。
10.位运算 a = 256 * 26 + 256 * 25 + 256 * 22 = (256<<6)+(256<<5)+(256<<2)
内容中出现的 “<<” 箭头向左表示乘2 ,向右表示除2 , 其默认值是1.
箭头后跟的数表示2 的幂次,例如 256<<6 就表示 256 * 26 . 除法类推。
11.创建一个新线程的jdk1.8与之前的比较
public static void main(String[] args) {
//正常的方式
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+":使用正常方法创建线程");
}
}).start();
//labdam方式
new Thread(()-> {
System.out.println(Thread.currentThread().getName()+":使用lambda表达式创建线程");
}).start();
}
12. springboot启动时执行任务CommandLineRunner
平常开发中有可能需要实现在项目启动后执行的功能,SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的代码放在实现的run方法中
13 .无论何种类型的数值数据(int,bigdecimal,double),精确到小数点后两位
BigDecimal money = new BigDecimal(1);
int money = 1;
double money=1.0;
DecimalFormat df = new DecimalFormat("#.00");
String format = df.format(money);
经格式化后都为1.00
14.线程和堆栈的关系
getStackTrace() 返回一个表示该线程堆栈转储的堆栈跟踪元素数组。如果该线程尚未启动或已经终止,则该方法将返回一个零长度数组。如果返回的数组不是零长度的,则其第一个元素代表堆栈顶,它是该序列中最新的方法调用。最后一个元素代表堆栈底,是该序列中最旧的方法调用。getStackTrace()[0]表示的事getStackTrace方法.
Thread.currentThread().getStackTrace()[1].getMethodName() //这个代码表示的是获取当前线程的名字。
15.mybitis mysql 将表名称作为入参
Set<String> selectIdsByTableName(@Param("tableName") String tableName, @Param("start") String start,@Param("end")String end);
<select id="selectIdsByTableName" resultType="java.lang.String">
select id from ${tableName} where
create_time <=#{end}
<if test="start!=null and start!=''">
and create_time >=#{start}
</if>
</select>
16. MySQL数据库建表一些常用的语句。
CREATE TABLE `pt_group_info` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '团标识,group_id',
`group_no` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '编号',
`group_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '访问链接',
`user_id` int NOT NULL COMMENT '创建人标识',
`username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人名称',
`status` int NOT NULL DEFAULT '0' COMMENT '状态,0:关闭;1:启用;2:拼团成功;3:奖励已发放',
`success_time` datetime DEFAULT NULL COMMENT '拼团成功时间',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`id`),
KEY `group_no` (`group_no`),
KEY `user_id` (`user_id`),
KEY `status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=77 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='团购活动信息'