JPA @MappedSuperclass 注解

@MappedSuperclass 是类级别注解,该注解没有任何参数,被该注解标注的类不会映射到数据库中单独的表,但该类所拥有的属性都将映射到其子类的数据库表的列中。

阅读更多

JPA @Table 注解

@Table 是类级别的注解,用于声明实体映射到数据库中的具体的表。

参数 类型 描述
name String 表的名称,默认为实体名称(参考 @Entity 注解的 name 参数说明),因此如果实体名称与映射的表名称一致时,@Table 注解常常可以省略。
catalog String 默认为数据库系统缺省的 catalog。
schema String 默认为用户缺省的 schema。
uniqueConstraints UniqueConstraint[] 表的唯一约束(除了由 @Column@JoinColumn 注解指定的约束以及主键的约束之外的约束),通过使用 @UniqueConstraint 注解来声明,仅在允许自动更新数据库表结构的场景中起到作用,默认没有其他额外的约束条件。
indexes Index[] 表的索引,通过使用 @Index 注解来声明,仅在允许自动更新数据库表结构的场景中起到作用,默认没有其他额外的索引。

阅读更多

JPA @Entity 注解

@Entity 是类级别注解,用于声明标注的类是持久的,我们把这样的类称为实体类。每个实体类映射到数据库中的一张表,实体类所拥有的属性将映射成数据库表的列。并由 JPA 负责将对实体的操作转换为对数据库表的操作。

参数 类型 描述
name String 实体名称,在 JPQL 中用于引用该实体类。默认为该类的简单类名称。

阅读更多

mybatis-template-generator 帮助文档

获取依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!-- 仓库地址 -->
<repositories>
<repository>
<id>github-maven-repo</id>
<url>https://raw.github.com/fanlychie/maven-repo/releases</url>
</repository>
</repositories>
<dependencies>
<!-- 声明依赖,版本信息参考:https://github.com/fanlychie/mybatis-template-generator/releases -->
<dependency>
<groupId>org.fanlychie</groupId>
<artifactId>mybatis-template-generator</artifactId>
<version>2.0</version>
<!-- 打包时可顺利排除此依赖 -->
<scope>test</scope>
</dependency>
</dependencies>

阅读更多

commons-httpclient 帮助文档

获取依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- 仓库地址 -->
<repositories>
<repository>
<id>github-maven-repo</id>
<url>https://raw.github.com/fanlychie/maven-repo/releases</url>
</repository>
</repositories>
<dependencies>
<!-- 声明依赖,版本信息参考:https://github.com/fanlychie/commons-httpclient/releases -->
<dependency>
<groupId>org.fanlychie</groupId>
<artifactId>commons-httpclient</artifactId>
<version>1.0.2</version>
</dependency>
</dependencies>

阅读更多

commons-jsp-tag 帮助文档

获取依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- 仓库地址 -->
<repositories>
<repository>
<id>github-maven-repo</id>
<url>https://raw.github.com/fanlychie/maven-repo/releases</url>
</repository>
</repositories>
<dependencies>
<!-- 声明依赖,版本信息参考:https://github.com/fanlychie/commons-jsp-tag/releases -->
<dependency>
<groupId>org.fanlychie</groupId>
<artifactId>commons-jsp-tag</artifactId>
<version>1.0.1</version>
</dependency>
</dependencies>

阅读更多

Redis 哨兵集群和应用

1. 哨兵

在一个一主多从的 Redis 系统中,主 Redis 主要负责写请求以及将数据同步给从 Redis,从 Redis 可以接受客户端的读请求以及接受主 Redis 同步过来的数据。当主 Redis 异常不能正常提供服务时,可以手动选择一个从 Redis 并将其升级为主 Redis,以使得整个系统能正常对外提供服务。当原来的主 Redis 恢复之后,再手动将其降级为从 Redis 加入系统当中。这整个过程需要人工的介入,不能实现自动化。

哨兵是 Redis 的高可用解决方案。它可以监控 Redis 系统的运行状况,当主 Redis 出现故障时,可以进行故障自动转移,它将选择一个从 Redis 并将其自动升级为主 Redis,当原来的主 Redis 恢复时,会自动将其降级为从 Redis 重新加入 Redis 系统当中。这整个过程由哨兵来完成,无需人工的介入。

阅读更多

commons-file 帮助文档

获取依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!-- 仓库地址 -->
<repositories>
<repository>
<id>github-maven-repo</id>
<url>https://raw.github.com/fanlychie/maven-repo/releases</url>
</repository>
</repositories>
<dependencies>
<!-- 声明依赖,版本信息参考:https://github.com/fanlychie/commons-file/releases -->
<dependency>
<groupId>org.fanlychie</groupId>
<artifactId>commons-file</artifactId>
<version>1.0.6</version>
</dependency>
</dependencies>

阅读更多

Redis 安装和应用

1. 简介

Redis是一个开源的,基于键值对的存储系统。它所有的数据都存储在内存中,读写速度远超于硬盘,同时将内存中的数据异步写入硬盘进行持久化。
Redis是一个单线程模型,所有的命令是串行执行,在并发的场景下不需要考虑数据的一致性问题。
Redis支持的多种不同的数据类型,常用的有:String(字符串) 、Hash(哈希表)、List(列表)、Set(集合)、Zset(有序集合)。可用作NoSQL数据库、高速缓存、消息队列等方面的应用。

阅读更多

CAS 实现 SSO 单点登录

环境

cas-server-4.1.8cas-client-3.4.0Java-8Maven-3Tomcat-7.0.72

CAS Server 安装

点此进入 CAS 下载列表选择下载 cas-4.1.8.zip

解压缩 cas-4.1.8.zip 并进入 cas-server-webapp 目录在当前目录打开 cmd 并执行安装命令

1
mvn -e -ff clean install -Dmaven.test.skip=true

经亲身测试(自己拉的电信12M网络)该安装过程非常漫长主要因为镜像原因导致依赖包下载非常慢此过程需静心等待或直接下载我已经打好包的 cas.war 文件(注:该文件的依赖包版本有稍做修改此不影响正常使用)

安装完成后在 cas-server-webapp/target 目录下可以看到 cas.war 文件该文件便是 cas server 应用服务的 war 包

cas server 安全认证是基于 https 的这里使用 JDK 自带的 keytool 工具生成数字证书生产环境系统的应用需要到证书提供商处购买证书证书的生成及 Tomcat 的配置可参考文章:keytool 生成数字证书 - tomcat https 配置

首先确保 tomcat 的 https 可以正常访问将 cas.war 文件拷贝到 apache-tomcat-7.0.72/webapps 下进行发布启动 tomcat访问 https://www.fanlychie.com:8443/cas

阅读更多

keytool 生成数字证书 - tomcat https 配置

环境

Java8 + Tomcat7 + Windows10

生成证书

Win + R 打开 cmd接下来使用 JDK 自带的 keytool 工具生成数字证书首先查看命令参数

1
C:\Users\fanlychie\.keystore>keytool -genkey -help

阅读更多

Spring+MyBatis 多数据源配置和切换

环境

两台 MySQL 数据库(属于 master-slave 主从关系)基于 Java8Spring4MyBatis3.2 环境

阅读更多

MySQL 主从配置 - 实现读写分离

环境

两台 CentOS 6.5 测试机均已安装 MySQL 5.6 服务选取其中一台作为主(master)另外一台作为从(salve)服务

主:192.168.1.102

从:192.168.1.104

阅读更多

Java Http 工具类

开发环境

基于 JAVA-8HttpClient-4.5.2 开发源码地址见 HttpUtils.java

发送 Http 请求

工具类提供了常用的 GETPOSTPUTDELETE 方法请求

1
2
3
4
5
6
7
8
// GET 请求
HttpUtils.get("http://www.duitang.com")...
// PUT 请求
HttpUtils.put("http://www.duitang.com")...
// POST 请求
HttpUtils.post("http://www.duitang.com")...
// DELETE 请求
HttpUtils.delete("http://www.duitang.com")...

阅读更多

Eclipse PyDev 插件离线安装和配置

目前 PyDev 最新版本为 5.2.0点此下载 PyDev 5.2.0.zip

下载完成后解压缩 features 和 plugins 两个文件夹的内容到 Eclipse 安装路径下的 features 和 plugins 目录中重启 Eclipse打开 Window -> Preferences -> PyDev -> Interpreters -> Python

阅读更多