linux 云主机下载 rpm 包安装 oracle java jdk21 实录(华为云 EulerOS)

摘要: linux 云主机安装 oracle jdk21, 包括下载, 本地安装及验证的全过程, 包含使用的全部命令, 每一步的操作截图及命令行输出

本来是想通过 yum install 相关的 openjdk 版本的, 但老是提示说找不到, 也不想去配置相关的仓库了, 所以改成去 oracle 官网下载 jdk21 的 rpm 包来安装.

云主机是华为云的 EulerOS , 具体为 Huawei Cloud EulerOS 2.0 标准版 64位(公共镜像), 相对于用的比较熟 centos, 差别也不算特别大吧, 一些支撑环境方面可能有些区别, 当然我也不是深度的用户, 只是个人玩一玩, 就当尝个鲜了.

将相关的过程都记录了一下, 包括下载, 本地安装及验证的全过程, 包含了使用的全部命令, 每一步的操作截图及命令行输出, 有需要的同学可以参考.

注: 21 是一个 LTS 版本, 即长时间支持版本(long time support), oracle 官方会提供比较长的生命周期支持.

另: 个人非商业使用, 应该也不存在什么授权或收费的问题.

继续阅读

启用 -parameters 编译选项简化 mybatis @Param 注解重复问题

介绍了启用 -parameters 编译选项简化 mybatis @Param 注解重复的问题, 包括 maven 的配置及相应 IDE 中的设置(Eclipse 及 Intellij IDEA)

在使用 mybatis 查询的时候, 只需要定义一个查询接口, mybatis 会为我们注入注解实现或是 xml 实现. 但当我们需要传递参数时, 通常需要 @Param 来定义一个名称, 但经常的, 我们也不难发现, 这个名称与参数名称通常是一样的:

User findUser(@Param("username") String username, @Param("password") String password);

如上, usernamepassword 都重复了.

而之所以要这么使用, 是因为 xml 中 ${xxx} 所引用的名称就来自于 @Param 里定义的值:

<select id="findUser" resultType="net.xiaogd.demo.mybatis.entity.User">
    select * from user where username = #{username} and password = #{password}
</select>

这就带来一个重复的问题, 可否简化这个定义, 使得无需重复录入名称, 甚至完全地去掉呢? 比如像下面这样:

User findUser(String username, String password);

答案是可以的, 下面就来说下怎么去做到这一点.

继续阅读