0%

我们使用 IDEA 在项目中查找某个字符串时,搜索结果的数量如果超过某个阈值,那就会显示不出来。

如图所示,100+ matches in 100+ files

可以对 IDEA 进行设置,以显示更多数量的结果集。

Help -> Find Action

输入Registry

找到参数 ide.usages.page.size,把结果设置为你想要的值。

获取图片的像素

1
2
3
BufferedImage bufferedImage = ImageIO.read(file);
int width = bufferedImage.getWidth();
int height = bufferedImage.getHeight();

压缩图片

使用一个开源的图片处理库 Thumbnailator,有一直在维护的。

1
2
3
4
5
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.14</version>
</dependency>

压缩时,按比例缩放,必须同时满足最大不超过size方法里面的width和height参数值。

直接转为文件输出:

1
2
3
4
5
6
String inputImage = "input.jpeg";
String outputImage = "out.jpeg";

Thumbnails.of(inputImage)
.size(100, 60)
.toFile(outputImage);

也可以转为输出流,再转为输入流供其他使用:

1
2
3
4
5
6
7
8
9
10
String inputImage = "input.jpeg";
String outputImage = "out.jpeg";

ByteArrayOutputStream baos = new ByteArrayOutputStream();

Thumbnails.of(inputImage)
.size(100, 60)
.toOutputStream(baos);

ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());

注意关闭文件。

在去 xml 的时代,使用 mybatis 的时候写 xml 我觉得并不是一个好的实践。不过在维护一些老的项目中,还是在使用xml配置文件,所以基本的配置还是得会。

创建

设置 useGeneratedKeys 为 true 时,当插入记录后,自增的 id 的值会赋值到 UserPo 的 id 属性里面。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<insert id="create"
useGeneratedKeys="true"
keyProperty="id"
parameterType="UserPo">
INSERT INTO user
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="username != null">
username,
</if>
<if test="age != null">
age,
</if>
</trim>
<trim prefix="VALUES (" suffix=")" suffixOverrides=",">
<if test="username != null">
#{username},
</if>
<if test="age != null">
#{age},
</if>
</trim>
</insert>

更新

如果 id 没有值,就不用更新。

如果 username 和 age 都为空时,SQL语句会报错。如果你要更新,至少有一个字段一定是有值的。

注意,SET key1 = val1, key2 = val2,字段之间是由逗号分隔的,而不是AND,在生产上执行这条语句时得非常小心。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<update id="update" parameterType="UserPo">
<if test="id != null">
UPDATE user
<set>
<if test="username != null">
username = #{username},
</if>
<if test="age != null">
age = #{age},
</if>
</set>
WHERE id = #{id}
</if>
</update>

查询

WHERE 字句。

每句话前面加关键字 AND

1
2
3
4
5
6
<where>
<if test="username != null">
AND username = #{username}
</if>
AND age = 18
</where>

运算

假如我要在xml配置里面进行运算,比如把 age 加 1 ,写法如下:

${age + 1}