方式一复合主键类@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
用过 Chrome 或类似的现代浏览器的同学都知道,多标签页 (Tabs) 的设计对于多窗口多任务管理非常便捷。在使用电脑浏览器时,可点击窗口上+号新建一个个标签页,然后浏览不同的页面,方便在不同页面切换。但是Windows自带的文件管理器、office等其他软件打开还是一层层的显示,如何让他们也能成为标签页呢?Windows Tabs就够了。github地址:https://github.com/mauricef/WindowTabs下载:https://lanzoux.com/ic8saad
电脑里有重复文件,可能它们文件名一样但内容实际一样,这款软件可以根据文件md5等信息识别重复文件,并且根据你选择标记它们,然后就可以将它们删除,节省磁盘空间,软件用法可自行摸索。以下是其它网站上的介绍:Duplicate Cleaner中文版(重复文件查找)是一款功能非常强大的重复文件查找工具,通过Duplicate Cleaner (重复文件查找)可以帮助你快速的查找重复的图片,音乐等各种文件,可以根据字节、MD5、SHA等多种方式来快速扫描。下载:https://lanzoux.com/ic6hova 注册码任意去年这时候我也推荐过另外一款WiseCleaner,根据个人喜好使用吧
可根据实际情况修改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");}?>