Vue 记录
1、给对象新增属性
Vue.set(对象, 新增属性, 值)
2、去除对象的双向绑定
var 变量 = JSON.parse(JSON.stringigy(对象))
3、处理显示小数保留两位小数点
{{变量|过滤器}}
filterMoney(value){
return value.toFixed(2);
}
5、Vue自定义指令
- 封装
1.1. 操作DOM改样式
6、eCharts 动态化组件——(echarts-tooltip)
import { loopShowTooltip } from '@/utils/js/echarts-tooltip'
const unwarp = (obj) => obj && (obj.__v_raw || obj.valueOf() || obj);
export default {
......
unwarp(myChart).setOption(option);
if (this.loopShowTooltipIndex == 0) {
this.loopShowTooltipIndex = 1
this.loopShowTooltipTime = loopShowTooltip(myChart, option, { loopSeries: true, interval: 2000 });
}
}
SpringCloud记录
1、后台返回Long类型到前台精度丢失
原因 | 解决 |
---|
js的number类型有个最大值(安全值)。即2的53次方,为9007199254740992。如果超过这个值,那么js会出现不精确的问题。这个值为16位 | 将long类型数据转为String类型,实体类字段加上@JsonSerialize(using =ToStringSerializer.class) |
@JsonSerialize(using =ToStringSerializer.class)
2、时间格式处理
实体类时间字段上加注解
注解名称 | 作用 |
---|
JsonFormat | 设置时区为上海时区,时间格式自己据需求定,主要是后台到前台的时间格式的转换 |
DateTimeFormat | 时间格式自己据需求定,主要是前台到后台的时间格式的转换 |
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
3、定时任务
- 引入依赖
- 启动类添加注解
@EnableScheduling
- 定时任务类中加上
@Scheduled
参数 | 作用 |
---|
fixedRate | 以固定速率执行。以上表示每隔1秒执行一次 |
fixedDelay | 以上一个任务开始时间为基准,从上一任务开始执行后再次调用 |
cron | 可以实现定时调用,表达式具体配置可参考corn表达式——用于设置定时任 |
4、Mybatis动态SQL——<if>
问题 | 解决 |
---|
动态SQL使用if标签时,将会过滤掉数值为0的条件 | 不用0保存状态,或者判断加上字段==0 |
5、Shardingsphere分库分表
application.yml
server:
port: 8888
spring:
application:
name: test-user
shardingsphere:
datasource:
names: ds0,ds1
ds0:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.19:3306/user0?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123
initialSize: 5
maxActive: 200
maxWait: 2000
timeBetweenEvictionRunsMillis: 60000
ds1:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://192.168.1.19:3306/user1?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123
initialSize: 5
maxActive: 200
maxWait: 2000
timeBetweenEvictionRunsMillis: 60000
sharding:
tables:
us_admin:
actualDataNodes: ds${0..1}.us_admin${0..1}
databaseStrategy:
inline:
shardingColumn: user_id
algorithmExpression: ds${user_id % 2}
tableStrategy:
inline:
shardingColumn: addr_id
algorithmExpression: us_admin${addr_id % 2}
keyGenerator:
column: id
type: SNOWFLAKE
bindingTables:
us_admin
broadcastTables:
t_config
defaultDataSourceName: ds0
props:
sql.show: true
mybatis:
mapper-locations: classpath:mapper/*.xml
check-config-location: true
type-aliases-package: com.sharding.sphere.model
configuration:
cacheEnabled: true
mapUnderscoreToCamelCase: true
6、Mybatis IN条件传值类型
<foreach collection="数组" item="数组项" open="(" separator="," close=")">
</foreach>
工具记录
1、IDEA插件
名称 | 作用 |
---|
Alibaba Java Coding Guidelines | 规范检查 |
POJO TO JSON | 生成实体类JSON字符串 |
json view | JSON字符串格式化,便于查看 |
MybatisX | 接口到XML的连接,相互跳转 |
Lombok | 注解生成实体类get、set等方法 |