- 博客(26)
- 资源 (51)
- 收藏
- 关注
原创 Shiro -认证凭据(密码)加密的那些事
一般来说,实际项目中隐私数据没有在网络上明文跑路,都会采用不同的加密算法。Shiro中的认证凭据通常也会采用算法进行加密。【1】CredentialsMatcher接口该接口只有一个方法,doCredentialsMatch,就是用来进行密码比较的!源码如下:public interface CredentialsMatcher { /** * Returns {@co...
2018-10-31 15:31:45 2962
原创 Spring AOP中如何为Bean创建代理?
在[Spring AOP使用(踩坑)实践总结](https://janus.blog.csdn.net/article/details/69485899)及[IOC容器的依赖注入详解](https://janus.blog.csdn.net/article/details/78264703)我们提到过,当Bean实例化过程中会触发BeanPostProcessor的动作。其中AbstractAutoProxyCreator的postProcessAfterInitialization方法中我们可以看到其会尝
2018-10-27 10:48:52 3770
原创 Shiro - 认证那些事
【1】认证① 身份认证身份认证是第一道门户,进去之后才能谈论授权的问题。身份验证,一般需要提供如身份ID 等一些标识信息来表明登录者的身份,如提供email,用户名/密码来证明。在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份:principals:身份,即主体的标识属性,可以是任何属性,如用户名、邮箱等,唯...
2018-10-25 15:41:35 664
原创 Git - 与GitHub整合时删除仓库和文件
【1】删除GitHub远程库① 进入到我们需要删除的仓库里面,找到“settings”即仓库设置② 在仓库设置里拉到最底部,找到“Danger Zone”即危险区域点击"Delete this repository",在弹出框中输入当前将要被删除的仓库名字:点击图片下方的确认条,即可删除GitHub上的远程库,但是本地库并没有删除。再次测试本地向远程推送,将提示远程库找不到:...
2018-10-24 17:04:19 688
原创 Hibernate与Spring整合实践实例
【1】Hibernate使用XML方式与Spring整合即,Model上面不添加注解,使用*.hbm.xml方式与数据库进行关联。① applicationContext.xml如下所示:<?xml version="1.0" encoding="UTF-8&q
2018-10-24 10:46:53 883 1
原创 Hibernate - Session管理与批量数据处理详解
【1】Hibernate管理session① Hibernate 自身提供了三种管理 Session 对象的方法:Session 对象的生命周期与本地线程绑定Session 对象的生命周期与 JTA 事务绑定Hibernate 委托程序管理 Session 对象的生命周期在 Hibernate 的配置文件中, hibernate.current_session_context_cl...
2018-10-23 18:29:39 569
原创 Hibernate - 查询缓存和时间戳缓存区域使用详解
【1】查询缓存对于经常使用的查询语句, 如果启用了查询缓存, 当第一次执行查询语句时, Hibernate 会把查询结果存放在查询缓存中。 以后再次执行该查询语句时, 只需从缓存中获得查询结果, 从而提高查询性能。① 查询缓存使用于如下场合:应用程序运行时经常使用查询语句很少对与查询语句检索到的数据进行插入, 删除和更新操作② 启用查询缓存的步骤:配置二级缓存, 因为查询缓存依赖...
2018-10-23 15:25:58 1247
原创 Hibernate - 整合Ehcache二级缓存使用详解
SessionFactory与Session详解博文中讲述了基于Session的一级缓存,本篇博文讲述基于SessionFactory的二级缓存。缓存(Cache)计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存。...
2018-10-21 15:58:31 928
原创 Hibernate - QBC和本地SQL对象检索详解
【1】QBC检索QBC 查询就是通过使用 Hibernate 提供的 Query By Criteria API 来查询对象,这种 API 封装了 SQL 语句的动态拼装,对查询提供了更加面向对象的功能接口。即使用面向对象的思想实现动态SQL拼接一样的功能,可以理解一下HQL和标准SQL。这里就需要了解几个接口和实现类。① Criterion接口An object-oriented rep...
2018-10-21 11:47:27 450
原创 Hibernate - HQL对象检索详解
Hibernate 提供了以下几种检索对象的方式:导航对象图检索方式: 根据已经加载的对象导航到其他对象OID 检索方式: 按照对象的 OID 来检索对象HQL 检索方式: 使用面向对象的 HQL 查询语言QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口.本地 ...
2018-10-19 11:40:58 855
原创 Hibernate - 检索策略入门与详解
检索数据时的 2 个问题:不浪费内存:当 Hibernate 从数据库中加载 Customer 对象时, 如果同时加载所有关联的 Order 对象, 而程序实际上仅仅需要访问 Customer 对象, 那么这些关联的 Order 对象就白白浪费了许多内存。更高的查询效率:发送尽可能少的 SQL 语句。其实检索策略就是围绕内存和效率这两个核心问题来展开的。...
2018-10-16 16:51:29 371
原创 Hibernate - 继承关联关系映射
对于面向对象的程序设计语言而言,继承和多态是两个最基本的概念。Hibernate 的继承映射可以理解持久化类之间的继承关系。例如:人和学生之间的关系。学生继承了人,可以认为学生是一个特殊的人,如果对人进行查询,学生的实例也将被得到。Hibernate支持三种继承映射策略:使用 subclass 进行映射: 对于继承关系中的子类使用同一个表,这就需要在数据库表中增加额外的区分子类类型的字段。...
2018-10-15 16:37:16 629
原创 Hibernate - 多对多关联关系映射
【1】单向多对多如Category:Item=n:n。在关系数据模型中,是需要一个中间表Category-Item来维持这种关联关系的。该表中存放Category_ID和Item_ID。与 1-n 映射类似,必须为 set 集合元素添加 key 子元素,指定 CATEGORIES_ITEMS 表中参照 CATEGORIES 表的外键为 CATEGORIY_ID。与 1-n 关联映射不同的...
2018-10-15 11:59:25 367
原创 Hibernate -双向一对一关联关系映射
双向一对一关联关系映射中,关系数据模型有两种方式:按照外键映射和按照主键映射。【1】基于外键映射的双向1-1对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素。为many-to-one元素增加unique=“true” 属性来表示为1-1关联。实例如下: <!-- 使用 many-to-one 的方式来映射 1-1 关联关系 --...
2018-10-12 16:02:07 416
原创 Hibernae - 双向多对一关联关系映射
双向 1-n 与 双向 n-1 是完全相同的两种情形。双向 1-n 需要在 1 的一端可以访问 n 的一端, 反之依然。域模型:从 Order 到 Customer 的多对一双向关联需要在Order 类中定义一个 Customer 属性, 而在 Customer 类中需定义存放 Order 对象的集合属性。关系数据模型:ORDERS 表中的 CUSTOMER_ID 参照 CUSTOMER 表的...
2018-10-10 17:02:26 492
原创 Hibernate - 单向一对多关联关系映射
上篇博文描述了Hibernate - 单向多对一关联关系映射,本篇博文继续学习单向一对多关系映射。【1】修改Customer和OrderCustomer修改如下:public class Customer { private Integer customerId; private String customerName; private Set<Order> orde...
2018-10-10 16:54:18 514
原创 Oracle - 数据库连接的几种方式
【1】使用PLSQL工具如下图所示:【2】SQL*Plus客户端Oracle 提供了SQL*Plus工具让其连接,如下图所示:连接主界面如下:这里主机字符串需要注意下,本机默认输入orcl即可。连接成功界面如下:【3】DOS下使用命令通过SQL*Plus连接这里需要使用“以管理员身份”运行命令窗口。① sqlplus / as sysdba这里作为DBA进行连接,...
2018-10-09 19:47:56 17550
原创 Hibernate - 单向多对一关联关系映射
在领域模型中, 类与类之间最普遍的关系就是关联关系。在 UML 中, 关联是有方向的。以 Customer 和 Order 为例: 一个用户能发出多个订单, 而一个订单只能属于一个客户。从 Order 到 Customer 的关联是多对一关联; 而从 Customer 到 Order 是一对多关联。【1】单向n-1单向 n-1 关联只需从 n 的一端可以访问 1 的一端。域模型: 从 O...
2018-10-09 16:16:09 715
原创 Hibernate - Java 类型, Hibernate 映射类型及 SQL 类型之间的对应关系
常见的映射对应关系如下表所示:Hibernate映射类型Java类型标准SQL类型字节大小integer/intjava.lang.Integer/intINTEGER4Bytelongjava.lang.Long/longBIGINT8Byteshortjava.lang.Short/shortSMALLINT2Bytebyteja...
2018-10-08 10:45:51 3545 1
原创 Hibernate - 对象关系映射文件(*.hbm.xml)详解
对象关系映射文件,即POJO 类和数据库的映射文件*.hbm.xml(映射文件的扩展名为 .hbm.xml)。POJO 类和关系数据库之间的映射可以用一个XML文档来定义。通过 POJO 类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系。在运行时 Hibernate 将根据这个映射文件来生成各种 SQL 语句。常...
2018-10-07 16:54:19 3742 1
原创 Hibernate - hibernate.cfg.xml配置文件详解
Hibernate 配置文件主要用于配置数据库连接和 Hibernate 运行时所需的各种属性。每个 Hibernate 配置文件对应一个 Configuration 对象。Hibernate配置文件可以有两种格式:hibernate.propertieshibernate.cfg.xml常用实例如下:<?xml version="1.0" encod
2018-10-07 15:51:37 8094 1
原创 Hibernate - Session方法与持久化对象详解
【1】持久化对象的状态站在持久化的角度, Hibernate 把对象分为 4 种状态: 持久化状态, 临时状态, 游离状态, 删除状态。Session 的特定方法能使对象从一个状态转换到另一个状态.① 临时对象(Transient)在使用代理主键的情况下, OID 通常为 null不处于 Session 的缓存中在数据库中没有对应的记录② 持久化对象(也叫”托管”)(Persis...
2018-10-05 13:44:05 1189
原创 Hibernate - SessionFactory和Session详解
【1】SessionFactory 接口SessionFactory 接口是针对单个数据库映射关系经过编译后的内存镜像,是线程安全的。SessionFactory 对象一旦构造完毕,即被赋予特定的配置信息。SessionFactory是生成Session的工厂,构造 SessionFactory 很消耗资源,一般情况下一个应用中只初始化一个 SessionFactory 对象。Hibern...
2018-10-04 14:58:19 12603
原创 Hibernate - 基础入门详解
【1】什么是Hibernate一个框架,一个Java领域的持久化框架,一个ORM框架。① 什么是对象的持久化狭义的理解,“持久化”仅仅指把对象永久保存到数据库中。广义的理解,“持久化”包括和数据库相关的各种操作:保存:把对象永久保存到数据库中。更新:更新数据库中对象(记录)的状态。删除:从数据库中删除一个对象。查询:根据特定的查询条件,把符合查询条件的一个或多个对象从数据库加载...
2018-10-04 09:42:34 2073 1
原创 NIO - NIO.2中的文件与资源支持
随着JDK 7 的发布,Java对NIO进行了极大的扩展,增强了对文件处理和文件系统特性的支持,以至于我们称他们为NIO.2。因为NIO 提供的一些功能,NIO已经成为文件处理中越来越重要的部分。【1】Path 与Pathsjava.nio.file.Path 接口代表一个平台无关的平台路径,描述了目录结构中文件的位置。Paths 提供的get() 方法用来获取Path 对象:Path g...
2018-10-03 19:02:48 647
原创 NIO - 灵魂核心之选择器Selector(多路复用器)
【1】使用 NIO 完成网络通信的三个核心① 通道(Channel):负责连接核心接口Channel,这里主要讲SelectableChannel。java.nio.channels.Channel 接口: |--SelectableChannel |--SocketChannel(tcp) |--ServerSocketChannel(tcp) |--DatagramChan...
2018-10-03 12:17:58 1994 1
DubboOPS项目和管理后台jar包
2018-11-07
Struts2Spring4Hibernate4整合
2018-11-07
输入一段英文,去掉符号后将英文单词排序输出
2021-12-23
PHP课程设计图书管理系统、学生成绩管理系统、学生宿舍管理系统
2020-11-27
SpringBoot+thymeleaf+UEditor+不修改上传路径.zip
2020-02-04
jdk6-8String类
2019-11-20
dhcp+c3p0.zip
2019-10-27
Netty权威指南 第2版 带书签目录 高清完整版.pdf
2018-11-20
SpringBoot整合Dubbo和Zookeeper升级版
2018-11-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人