自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(31)
  • 收藏
  • 关注

原创 Hibernate中的缓存

Hibernate中提供了两个级别的缓存Session级别的缓存:它是属于事务范围的缓存,这一级别的缓存由hibernate管理,一般情况下无需进行干预SessionFactory级别的缓存:它是属于进程范围的缓存启用二级缓存的条件:1、  很少被修改2、  很多系统得模块都是要用到的3、  不是私有的数据,是共享的配置二级缓存的方法【每种方法操作之前都要把co

2011-12-27 17:40:54 442

原创 12月27日笔记

连接分为内连接、外连接和全连接外连接分为:左外连接、右连接内连接又叫自然连接createQuery()的括号里面不能写select  *   .mySQL不支持full join inner join(等值连接):只返回两个表中连结字段相等的行left join(左连接):返回包括左表中的所有记录和右表中连结字段相等的记录A表 left join B表  左连  以

2011-12-27 14:47:28 443

转载 mysql 左连接、右连接和内连接

以MySql为例。在MySQL数据库中建立两张数据表,并分别插入一些数据。    脚本如下:  drop table table1;  CREATE TABLE`andrew`.`table1`  (  `name` VARCHAR(32)NOT NULL,  `city` VARCHAR(32)NOT NULL  )  ENGINE = MyISAM;

2011-12-27 14:13:19 1094

原创 Hibernate的检索方式

HQL(Hibernate Query Language)HQL(Hibernate Query Language)是面向对象的查询语言,它和SQL语言有些相似。在hibernate提供的各种检索方式中,HQL是使用最广泛的一种检索方式。它有如下功能:1、  在查询语句中设定各种查询条件2、  支持投影查询, 即仅检索出对象的部分属性方式一:@Test    public

2011-12-26 19:04:58 606

原创 Hibernate检索策略

默认的检索策略是立即检索。在Hibernate映射文件中,通过在上配置 lazy属性来确定检索策略。对于Session的检索方式,类级别检索策略仅适用于load方法;也就说,对于get、qurey检索,持久化对象都会被立即加载而不管lazy是false还是true.一般来说,我们检索对象就是要访问它,因此立即检索是通常的选择。由于load方法在检索不到对象时会抛出异常(立即检索的情况下)

2011-12-25 16:06:33 764

原创 类与类之间的关系

类与类之间的关系可以分为以下几种:1、            关联两个相对独立的对象,当一个对象的实例与另一个对象的特定实例存在固定关系时,这两个对象之间就存在关联关系1) 单向关联A1--àA2 表示A1认识A2,A1知道A2的存在,A1可以调用A2中的方法和属性例如:订单和商品,订单中包括商品,但是商品并不了解订单的存在2) 双向关联两者之间互相知道对方的存在,并可

2011-12-25 16:04:55 682

转载 Hibernate中的Inverse和cascade属性配置

Inverse和cascade是Hibernate映射中最难掌握的两个属性。两者都在对象的关联操作中发挥作用。1.明确inverse和cascade的作用 inverse 决定是否把对对象中集合的改动反映到数据库中,所以inverse只对集合起作用,也就是只对one-to-many或many-to-many有效(因 为只有这两种关联关系包含集合,而one-to-one和many-to-on

2011-12-22 21:01:59 595

原创 get、load与懒加载小总结

一、get()与load()1、 是否支持懒加载Load支持懒加载,get不支持懒加载2、 加载时机不同Load采用延迟加载,等到使用非主键时才去读库Get马上读库3、 搜素不到数据时的情况当搜素的数据不存在时,load会返回一个对象,在使用该对象的非主键属性时会抛出一个ObjectNotFoundException。 当搜素的数据不存在时,get会返回null;

2011-12-22 19:11:48 2064

原创 主键的生成策略

主键的生成策略的取值可以为:1、  increment:用于long,short或者int类型生成的唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用,在集群下不要使用2、  identity:返回的标识符是long,short或者int类型。对DB2,MS SQL Service,Sybase和HypersonicSQL的内置标识符字段提供支持3、  sequence:在

2011-12-21 17:37:12 2657 1

原创 Hibernate中的三个异常

异常一:java.lang.ExceptionInInitializerError       atcom.hibernate.service.UserServiceImpl.(UserServiceImpl.java:11)       atcom.hibernate.junit.UserTest.(UserTest.java:12)       atsun.reflect.Na

2011-12-21 17:33:21 3967

原创 12月21日hibernate课堂笔记

今天上午上课了,下面是课堂笔记,里面记录了一些原来可能讲过但却忘了的一些东西 Hibernate中用的约束是dtd的:    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> Eleme

2011-12-21 17:25:31 525

转载 多线程的概念

多线程的概念 一、程序与进程1、程序:一段静态的代码。2、进程:程序的一次动态执行过程,它对应从代码加载、执行到执行完毕的一个完整过程。3、进程也称任务,支持多个进程同时执行的OS就被称为多进程OS或多任务OS。二、进程与线程在一个程序内部也可以实现多个任务并发执行,其中每个任务称为线程。线程是比进程更小的执行单位,它是在一个进程中独立的控制流,即程序内部的控制流。

2011-12-19 13:25:22 353

转载 hibernate中持久化对象的生命周期

三态的基本概念:①自由态:只存在于内存中,而在数据库中没有相应数据。②持久态:与session关联并且在数据库中有相应数据③游离态:在数据库中有相应数据,但与session无关  三态之间的转换方法:①如何成为自由态?对象通过构造方法成为自由态;持久态和游离态则通过session的delete方法成为自由态②如何成为持久态?对象可以由session的load或get

2011-12-19 11:23:14 506

原创 缓存

缓存 缓存的作用主要用来提高性能、优化查询,可以简单的理解成一个Map;使用缓存涉及到三个操作:把数据放入缓存、从缓存中获取数据、删除缓存中的无效数据。 可以通过下面这个小例子理解缓存package com.hbsi.hibernate;import java.util.HashMap;import java.util.Map;import com.hbsi.dom

2011-12-17 19:36:50 888

转载 Hibernate jar包的作用

Hibernate jar包的作用 (1)hibernate3.jar:Hibernate的核心库,没有什么可说的,必须使用的jar包(2)cglib-asm.jar:CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包(3)dom4j.jar:dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。d

2011-12-14 18:38:47 863

原创 Hibernate性能优化之————延迟加载与抓取策略

Hibernate性能优化之————延迟加载与抓取策略 懒加载【延迟加载】:主要目的:为了推迟与数据库交互的时间,提高系统的系能它是hibernate为提高程序执行效率而提供的一种机制,即只有真正使用该对象的数据才会创建实现方式:Hibernate中主要通过代理(proxy)机制来实现延迟加载延迟加载的具体过程:Hibernate从数据库获取某一个对象数据时、获

2011-12-14 15:51:16 3565 1

原创 继承映射

集合映射在list中不能放弃关联关系,如果放弃了关联关系就没法维护插入的员工的顺序了在set集合中才可以放弃关联关系在一对多和多对多才可以放弃关联关系 inverse的默认值为false,既不放弃关联关系  继承映射继承对象模型是is a(是一个)的关系,在关系模型中,实体间只有has a(有一个)的关系,也就是说,继承在对象模型和关系模型上是不匹配的 方式一:整个

2011-12-13 21:59:48 1306

转载 Web开发中的session

Web开发中的session 在web开发中,session是个非常重要的概念。在许多动态网站的开发者看来,session就是一个变量,而且其表现像个黑洞,他只需要将东西在合适的时机放进这个洞里,等需要的时候再把东西取出来。这是开发者对session最直观的感受,但是黑洞里的景象或者说session内部到底是怎么工作的呢?当笔者向身边的一些同事或朋友问及相关的更进一步的细节时,很多人往往要

2011-12-12 19:04:16 16956 3

转载 Hibernate中的Session

Hibernate中的Session 一.主配置 ◆查询缓存,同下面讲的缓存不太一样,它是针对HQL语句的缓存,即完全一样的语句再次执行时可以利用缓存数据。但是,查询缓存在一个交易系统(数据变更频繁,查询条件相同的机率并不大)中可能会起反作用:它会白白耗费大量的系统资源但却难以派上用场。 ◆fetch_size,同JDBC的相关参数作用类似,参数并不是越大越好,而应根据业务

2011-12-12 18:58:30 911

转载 jar包作用

Hibernate jar包的作用(转)Hibernatelog4jJBossApacheAnt(1)hibernate3.jar:Hibernate的核心库,没有什么可说的,必须使用的jar包(2)cglib-asm.jar:CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包(3)dom4j.jar:dom4j是一个Jav

2011-12-12 17:45:56 3780

原创 Hbm2ddl

Hbm2ddl配置文件中的属性hbm2ddl的作用是创建数据库表结构在配置文件中的语法为:"hibernate.hbm2ddl.auto">createHbn2ddl有四种状态,分别为:1、 create:在程序运行时生成表格,在程序结束时不会销毁表格,在下次运行时销毁重建2、 update:在原有继续保持的基础上,更新3、 create_drop:在程序运行时生成表格

2011-12-12 16:29:38 702

原创 组件映射

组件映射Hibernate建议在进行领域模型时要细粒度一些,简单的说,就是类比表多,这种映射方式就是组建映射组件类是值类型,既它没有对象标识符属性,在数据库中也没有对应的表,它只是隶属于另一个持久化类的实例值类型对象是指它对应的类没有对象标识符属性,只能作为一个持久化类的属性使用 当组件的属性已经不能和表中的字段简单的对应时使用 组建映射的应用有三种情况:1、 把组

2011-12-12 15:46:54 487

原创 集合映射

集合映射 保存值类型集合的数据的表叫做集合表值类型对象参考组件映射 选择集合接口:1、元素:可以映射类型为java.util.Set接口的属性,它的元素存放在没有顺序且不重复的;也可以映射类型为java.util.SortSet接口的属性,它的元素可以按自然顺序排列Student.java部分:public class Student {    private

2011-12-12 15:45:48 515

原创 双向多对多

双向多对多 学生和老师之间的关系是多对多的,一个老师可以对应多个学生,而一个学生也可以对应多个老师,所有老师与学生之间的关系需要生成三张表,学生表、教师表和中间表。中间表中分为两列,一列为student_id,另一列为teacher_id,这两列合起来为中间表的主键 在Student.java中,设定了三个属性,id,name和Teacher的集合对象Teacher的集合对象用

2011-12-09 15:24:53 690

原创 基于主键的一对一小实例

基于主键的一对一小实例Person.javaprivate int id;    private String name;        private IdCard idCard;    public IdCard getIdCard() {       return idCard;    }    public void setIdCard(IdCard i

2011-12-08 17:13:27 1475

原创 关联映射-----一对多小实例

关联映射-----一对多小实例Employee.javapackage com.hbsi.domain;//员工类public class Employee {     private int id;    private String name;        public int getId() {       return id;    }

2011-12-08 17:12:21 475

原创 关联映射----多对一小实例

关联映射----多对一小实例Department.javapublic class Department {    private int id;    private String name;    public int getId() {       return id;    }    public void setId(int id) {       t

2011-12-08 17:11:03 570

原创 HQL和Criteria

HQL和CriteriaHQL(Hibernate Query Language)       面向对象的查询语言,与SQL不同,HQL中的对象名是区分大小写的(除了JAVA类和属性其他部分不区分大小写);HQL中查的是对象而不是和表,并且支持多态;HQL主要通过Query来操作,Query的创建方式:       Queryq = session.createQuery(hql);

2011-12-07 16:28:13 4513

原创 Hibernate增删改查(通过id查询)

Hibernate增删改查(通过id查询)package com.hbsi.hibernate.utils;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration

2011-12-07 16:27:43 15071

原创 Hibernate基本概念

Hibernate基本概念1、对数据进行开发时需要的三类文件[理论上知道其中一个,其他两个都可以利用工具生成]:(1)       domain类User(2)       映射文件User.hbm.xml(3)       数据库的表create table user(….); 2、这三类文件的顺序(三个开发流程):(1)       由Domain objectàm

2011-12-06 18:00:33 804

原创 Hibernate原理与应用(一)

Hibernate原理与应用(一)引入模型不匹配(阻抗不匹配)Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等;数据库是关系模型,其主要概念有:表、主键、外键等 解决办法1、使用JDBC手工转换:重复性较高把关系模型转换成对象模型rs结果集对象----à移动游标if(rs.next()){//把读取到的封装到对象中       user.setI

2011-12-05 15:46:11 2314

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除