SpringDataJpa复合主键写法

方式一复合主键类@Embeddablepublic class UserKey implements Serializable {    @Column(name = "NAME", nullable = false, length = 32)    private String name;    @Column(name = "AGE", nullable = true, length = 32)    private String age;        getter/setter...}实体类@Entity@Table(name = "USER")@IdClass(UserKey.class)public class User implements Serializable {    /**      * serialVersionUID     */ private static final long serialVersionUID = -7768637914227571159L;    /**      * 物料编码     */ @Id @Column(name = "NAME", nullable = true, length = 32)    private String name;        /**      * 技术规范书编码     */ @Id @Column(name = "AGE", nullable = true, length = 32)    private String age;    getter/setter    }查找方法userRepository.findOne(userKey);参考:https://www.cnblogs.com/boywwj/p/8031106.html方式二复合主键不能用@Id,需要用@EmbeddedId主键类@Embeddablepublic class UserFundPrimarykey implements Serializable { private static final long serialVersionUID = 1L;  //用户ID private Integer userId; private String date; getter/setter...}实体类@Entity@Table(name = "user_funds")public class UserFund { /** * 主键 * 复合主键不能用@Id,需要用@EmbeddedId。插入数据的时候必须手工赋值 */ @EmbeddedId private UserFundPrimarykey userFundPK; //本金 @Column(precision=18, scale=5) private BigDecimal principal; //利率(5%传0.05) @Column(precision=18, scale=5) private BigDecimal rate; /** * 当天收益(日利息=本金*利率/365) * 保留2位小数 */ @Column(precision=18, scale=2) private BigDecimal interest; getter/setter...}持久层public interface UserFundRepository extends CrudRepository<UserFund, UserFundPrimarykey> {}设值使用UserFund uf2 = new UserFund();//必须手动设置主键uf2.setUserFundPK(new UserFundPrimarykey(2, "2017-07-01"));uf2.setRate(new BigDecimal("0.041"));uf2.setPrincipal(new BigDecimal("20000"));//截断,只保留两位小数uf2.setInterest(uf2.getRate().multiply(uf2.getPrincipal()).divide(new BigDecimal("365"), 2, RoundingMode.DOWN));userFundRepository.save(uf2);参考:https://blog.csdn.net/mn960mn/article/details/74034512

Windows美化教程-秒变Mac Dock栏

MyDock官网:https://www.mydockfinder.com/相关美化包:https://www.lanzoux.com/i86quyj使用:以管理员身份直接运行dock.exe即可,有可能被360误杀

Windows美化教程-秒变Mac Dock栏

WindowTabs - 给所有软件都加上类浏览器多标签页功能

        用过 Chrome 或类似的现代浏览器的同学都知道,多标签页 (Tabs) 的设计对于多窗口多任务管理非常便捷。在使用电脑浏览器时,可点击窗口上+号新建一个个标签页,然后浏览不同的页面,方便在不同页面切换。但是Windows自带的文件管理器、office等其他软件打开还是一层层的显示,如何让他们也能成为标签页呢?Windows Tabs就够了。github地址:https://github.com/mauricef/WindowTabs下载:https://lanzoux.com/ic8saad

Pixaloop让静图动起来

Pixaloop是知名的图片处理厂商Lightricks Ltd.最新推出的一款动图软件,这款软件可以将一张静图变成灵活的动图。你不需要将多张静图组合到一起来产生动图的效果,Pixaloop可以直接在一张静图上做出动图的效果。Pixaloop 和新版 Plotaverse 均加入了动态贴图素材,Plotaverse 的具象素材较多且在不断更新中,而 Pixaloop 则偏重于天气素材,它内置多款「魔法天空」,可以自动识别天空部分并进行替换,可玩性还是非常高的。下载:https://www.lanzoux.com/i9qn38j

Pixaloop让静图动起来

z-blog标签内链插件报错修复 错误代码:count(): Parameter must

错误代码:count(): Parameter must be an array or an object that implements Countable修复教程:第一步打开插件的include.php文件 搜索代码if(count($article)>0)更改为if(count((array)$article)>0)修改完成后,测试标签内链即可

z-blog标签内链插件报错修复 错误代码:count(): Parameter must

Dynadot领取一年免费域名

能领取指定后缀域名,建议别撸太狠会和谐。当然,续费还是要钱的,目前该网站支持自己的一套建站系统跟绑定自己的网站空间。大致后缀如下:me、life、works、social等领取地址:https://www.dynadot.com/resumeboost

Dynadot领取一年免费域名

Duplicate Cleaner电脑文件去重清理神器

电脑里有重复文件,可能它们文件名一样但内容实际一样,这款软件可以根据文件md5等信息识别重复文件,并且根据你选择标记它们,然后就可以将它们删除,节省磁盘空间,软件用法可自行摸索。以下是其它网站上的介绍:Duplicate Cleaner中文版(重复文件查找)是一款功能非常强大的重复文件查找工具,通过Duplicate Cleaner (重复文件查找)可以帮助你快速的查找重复的图片,音乐等各种文件,可以根据字节、MD5、SHA等多种方式来快速扫描。下载:https://lanzoux.com/ic6hova 注册码任意去年这时候我也推荐过另外一款WiseCleaner,根据个人喜好使用吧

PHP实现指定文件夹路径随机图片功能

可根据实际情况修改images图片路径,文件名通配的,因此不必担心要改什么特定格式文件名,后缀符合下述即可<?php$img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_BRACE);if(count($img_array) == 0) die('没找到图片文件。请先上传一些图片到 '.dirname(__FILE__).'/images/ 文件夹');header('Content-Type: image/png');echo(file_get_contents($img_array[array_rand($img_array)]));?>当然,有人可能觉得放本地服务器太占内存了,可以这样,其中img.txt为图片外链,以换行分隔<?php$arr=file('img.txt');$n=count($arr)-1;for ($i=1;$i<=1;$i++){  $x=rand(0,$n);  header("Location:".$arr[$x],"\n");}?>

可爱menhera酱精美图片下载

很惊喜,也出奇的好看!作者官网:https://pom-official.jp/

可爱menhera酱精美图片下载