摘要: 对象的序列化与反序列化: 对象的序列化,就是将Object转换成byte序列,反之叫对象的反序列化。 序列化流(ObjectOutInputStream),是过滤流 writeObject 反序列化流(ObjectInputStream) raedObject 序列化接口(Serializable) 阅读全文
posted @ 2018-12-04 22:19 程序员deepz 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 字符流: 文本和文本文件: java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码)文件是byte byte byte....的数据序列,而文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化为byte的存储结果。 字符流(Rea 阅读全文
posted @ 2018-11-26 21:42 程序员deepz 阅读(142) 评论(0) 推荐(0) 编辑
摘要: Object类型转换成自定义类型 场景: 从数据库或者别的途径接收对象的时候用Object,但是用的时候怎么object点(方法提示 | alt+'/'),都点不出自定义类型的方法。 比如,数据库查询Customer的时候,用Object来接收,那么想要调用Customer中的getCust_Id( 阅读全文
posted @ 2018-11-25 00:50 程序员deepz 阅读(6521) 评论(0) 推荐(0) 编辑
摘要: 抓取策略: 抓取策略是当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候,Hibernate如何获取关联对象的策略。Hibernate的抓取策略是Hibernate提升性能的一种手段,可以在获取关联对象的时候,对发送的语句进行优化,但是往往抓取策略需要和延迟加载一起使用来提升 阅读全文
posted @ 2018-11-24 19:25 程序员deepz 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 迫切内连接fetch 内连接和迫切内连接的区别: 其主要区别就在于封装数据,因为他们查询的结果集都是一样的,生成底层的SQL语句也是一样的。 1.内连接:发送就是内连接的语句,封装的时候将属于各自对象的数据封装到各自的对象中,最后得到一个List<Object[]>。 2.迫切内连接:发送的是内连接 阅读全文
posted @ 2018-11-24 16:52 程序员deepz 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 连接查询: 交叉连接: 交叉连接返回的结果是被连接的两个表中所有数据行的笛卡尔积,也就是返回第一个表中符合查询条件的数据航数乘以第二个表中符合,查询条件的数据行数,例如department表中有4个部门,employee表中有4个员工,那么交叉连接的结果就有4 * 4 = 16条数据 从上述描述情况 阅读全文
posted @ 2018-11-24 15:59 程序员deepz 阅读(9018) 评论(0) 推荐(0) 编辑
摘要: Hibernate——离线条件检索DetachedCriteria DetachedCriteria翻译为离线条件查询,因为它是可以脱离Session来使用的一种条件查询对象,我们都知道Criteria对象吧必须由Session 对象来创建。那么就是说必须先有Session才可以生成Criteria 阅读全文
posted @ 2018-11-24 15:04 程序员deepz 阅读(341) 评论(0) 推荐(0) 编辑
摘要: JAVA基础IO流(一)https://www.cnblogs.com/deepSleeping/p/9693601.html ①读取指定文件内容,按照16进制输出到控制台 其中,Integer.toHexString(int i);是将整数i转换成16进制字符串 ②读取指定文件内容到字节数组中,并 阅读全文
posted @ 2018-11-19 21:28 程序员deepz 阅读(321) 评论(0) 推荐(0) 编辑
摘要: Hibernate多对多案例 1.用户对角色 Employee.hbm.xml Role.hbm.xml 问题:Hibernate生成的SQL:不知道为什么还是会重复维护关系,我明明已经inverse="true"了, 如果我给role配置inverse不给employee配置inverse="tr 阅读全文
posted @ 2018-11-19 19:36 程序员deepz 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 多对多数据表设计 场景模拟: 员工与角色:一个员工可以扮演多个角色,一个角色可以被多个员工扮演 三张表: employee,role,(关系表)emp_role employee 中的eid,关联到关系表中的r_eid,然后可以找到和r_eid同一行的一个或多个r_rtype 利用r_rtype 又 阅读全文
posted @ 2018-11-19 12:26 程序员deepz 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 双向关联产生多余的SQL语句 这是Hibernate生成的语句: Hibernate: select customer0_.cust_id as cust_id1_0_0_, customer0_.cust_name as cust_nam2_0_0_, customer0_.cust_gender 阅读全文
posted @ 2018-11-18 20:31 程序员deepz 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Hibernate级联删除 上一篇文章学习了级联保存和更新,这个级联删除应该很好理解的。一样的道理,删除一方,同时删除有关联的一方。 https://www.cnblogs.com/deepSleeping/p/9978296.html 同样有方向性。 删除客户,客户下的订单也同样删除。 用户表: 阅读全文
posted @ 2018-11-18 19:58 程序员deepz 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 级联保存或更新CASCADE 级联保存或更新: 作用就是:保存一方的数据的时候,会把关联的对象也同时保存。 级联保存或更新的配置: 属性名:cascade 属性值: 1.none:所有情况下均不进行关联操作。(默认值) 2.save-update:在执行save/update/saveOrUpdat 阅读全文
posted @ 2018-11-18 16:22 程序员deepz 阅读(1825) 评论(0) 推荐(0) 编辑
摘要: 一对多 场景模拟:用户(一)对订单(多) 1.建表 创建客户表,字段有:客户id,客户姓名,客户性别,客户年龄,客户年纪,客户电话。 创建订单表,字段有:订单编号,明细编号,客户编号(外键) 2.创建项目,配置hibernate.cfg.xml主配置文件 3.创建实体 创建用户实体类:基本属性+配置 阅读全文
posted @ 2018-11-18 11:49 程序员deepz 阅读(153) 评论(0) 推荐(0) 编辑
摘要: Query: 代表面向对象的一个Hibernate查询操作.在Hibernate中,通常使用session.createQuery()方法接收一个HQL语句,然后调用Query的 list()或uniqueResult()方法执行查询。所谓的HQL是Hibernate Query Language缩 阅读全文
posted @ 2018-11-10 19:04 程序员deepz 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-11-10 17:45 程序员deepz 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 无限级分类表的设计(掌握'自身连接') 类似图书这种,会有很多种分类,而且在现实生活中这种分类会无限的往下分,所以不可能每有一个分类就创建一个分类表。应该使用下面这种语句 然后再模拟图书类的分类来个小demo 从下图中很容易可以看到,'电子书'为顶级分类,所以parent_id为0,以此类推.... 阅读全文
posted @ 2018-11-10 10:11 程序员deepz 阅读(1820) 评论(0) 推荐(0) 编辑
摘要: NOT IN 与 IN 假设我们又一张score表如下 我们需要查询所有不是性别代号为"0"的学生数据 很明显,not in 就是排除的意思。 exists 与 not exists exists:有结果集返回则返回true,相反返回false。 not exists:与exists相反。 使用IN 阅读全文
posted @ 2018-11-08 23:01 程序员deepz 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 1.有返回值的方法不能直接测试2.带参数的方法不能直接测试3.访问权限在public一下的方法不能直接测试4.static静态方法不能直接测试5.不能给出现前四个条件中任意一个的方法添加@Test注解,否则执行满足@Test条件的方法也会出现initializationerror初始化异常 来源:C 阅读全文
posted @ 2018-10-31 12:45 程序员deepz 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 在Hibernate中,可以通过代码来操作管理事务,如通过“Transaction tx = session.beginTransaction()”,开启一个事务,持久化操作后,通过"tx.commit()",提交事务,如果事务出现异常又通过"tx.rollback()".操作来撤销事务(事务回滚) 阅读全文
posted @ 2018-10-28 10:19 程序员deepz 阅读(442) 评论(0) 推荐(0) 编辑