hibernate
文章平均质量分 86
千岛飞鱼
有时候学会放弃是一种智慧,把泪换成汗水。我的爱
展开
-
hibernate环境的搭建和对数据库表的增删改查。(配图解详解)
首先hiebernate是一种可持久化的框架。Hibernate可以关联很多流行的数据库。 这里我写一个用hibernate关联mysql。 步骤1:首先启动mysql的服务,在mysql中建立一个数据库如“test” 在该数据库中创建一个表如user。步骤2:创建一个工程,如:java工程,步骤3:首先你得导入hibernate的jar 包和mysql 的驱动。如果这原创 2013-06-23 13:05:32 · 2636 阅读 · 0 评论 -
hibernate的缓存你知道多少
首先我们要明白什么是缓存,缓存是指临时文件交换区。临时就说明了他不是永久性的。缓存是介于cpu和主存之间的设备。他的读写速度比主存快,比cpu慢。缓存有一个叫命中率的概念。这个也很好理解。Cpu是处理数据和运算数据的地方,数据的读取要不来自内存,要不来自缓存。但是缓存介于主存和内存之间。所以如果cpu能直接从缓存中拿数据。那么他执行的效率一定会提高。如果缓存中没有再去主存中那数据。那么你也就可以知原创 2013-08-16 08:51:39 · 1359 阅读 · 0 评论 -
hibernate将每个类映射成表的继承
前面的一种方式是3个类放在一个表中,这样看上去不符合关系模型,但是效率快。所以就少第二种更加符合关系模型的方法。那就是将每一个类映射到每一个表。这样使表结构更加清晰。但是执行效率会比较低。 我还是写原来那个例子。1. 基类package com.fish.testdao; public class Employee {private Integerid原创 2013-08-11 15:51:41 · 981 阅读 · 0 评论 -
hiernate利用鉴别器实现继承关系(加图片)
在现实中,很多对同一类的事物也有很多区别。这时候我们可以使用继承。比如说学生,老师可以继承人这个类。同理:员工也有普通员工和技术员工和销售员工。我们拿员工来举例子。技术员工有技术,销售员工有销售额。看这个表结构所以我们要实现表的继承。我们可以有一种方法,就是利用鉴别器来实现不同员工的区别。这个方法,其实是在一张表中操作。意思就是说我有一个表表里有一个类别字段,这个字段起标记原创 2013-08-11 10:52:21 · 1341 阅读 · 1 评论 -
hibernate的多对多例子讲解(加图片)
在hibernate中也有多对多的关系。但是这样关系执行的效率不高,所以我们可以通过两个多对1或者两个1对多来实现。在现实生活中多对多的关系也比较常见。比如说老师和学生。一个老师有多个学生,一个学生也有多个老师。如何实现老师和学生的关系我们可以建立一个中间表。中间表的作用就是关联老师和学生用的。大家请看这个表:这个3个表就是这种关系。现在我来写一个实例来实现以上的关系。原创 2013-08-09 18:39:28 · 1132 阅读 · 0 评论 -
hibernate的一对一的实现
作为关联关系有多对一,有一对多。然后有一对一的关联。一对一可以主键之间的一对一也可以通过外键的一对一。1对1的关系也是比较常见的一种关联。看下面这个两个表人表和身份证表。一个人只有一张身份证,一个人只有一个id号。一个id号也只能对应一个人。人和是主表,身份证表示从属表。 下面写一个实例。对身份证表和人表的插入数据和查询。1person类 packa原创 2013-08-08 20:34:06 · 1004 阅读 · 0 评论 -
hibernate一对多的实现
昨天我们讲了多对一关系。今天我们就讲讲一对多的实现。既然多个员工属于一个部门。那么我们也可以说一个部门有多个员工。 首先我想说,不管是多对一还是一对多,他们的共同点就是两张表有联系。实现的实质就是通过找共同属性的字段(可以不同名字,但是在关联时候,类型是一致的)。如果是员工表和部门表的话,那么我们可以通过部门编号来实现。 下面我写一个查找一个部门有多少人实例来说明1对多原创 2013-08-08 13:38:22 · 991 阅读 · 0 评论 -
hibernate多对一的操作解析
在hibernate的关联操作中有很多关系,其中多对一关系是最常见的。我们看这两个表。这里有部门表和员工表。那么我们可以这么说一个部门可以有多个员工。这就是1对多的关系。这是我们站在部门表的角度上看的。那么我们也可以说多个员工是一个部门的,这就是多对一的关系。这就是我们站在员工表的角度上说的。 下面我做一个多对一的例子,实现两表的增加和查询操作。1. 部门原创 2013-08-07 16:37:59 · 890 阅读 · 0 评论 -
hibernate对查询的几个知识点
1. query里面的主要方法list()可以得到查询的结果集uniqueResult()如果查询的结果只有一条可以用这个 通过这两句可以实现分页,好处是可以跨数据库query.setFirstResult(0);//从查询结果的第一条query.setMaxResults(10);//连续查询10条 2. Criteria c= getSessio原创 2013-08-07 11:31:54 · 866 阅读 · 0 评论 -
hibernate对多表的查询
今天我们做一个多表查询。1首先准备两张表,一张是学生信息表,一张是课程表。建表语句:CREATE TABLE `test`.`classinfo` ( `classname` varchar(20) NOT NULL DEFAULT '', `classid` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`classid`)原创 2013-06-29 21:45:08 · 1564 阅读 · 2 评论 -
hibernate的基本知识点和常见错误
Session有几个主要的方法:1. Sava,persist保存数据,persist在事务外不会产生insert语句。2. delete删除对象3. update更新对象,如果数据库没有记录,会出现异常4. get根据id查,会立刻访问数据库5. load根据id,返回的是代理,不会访问数据库6. saveOrU原创 2013-06-25 23:39:16 · 1475 阅读 · 0 评论 -
利用单例对hibernate进行优化成模板
利用单列来优化代码,实现对数据库数据的插入首先写一个java映射类:将来这个用来生成一个表packagecom.fish.hibernate.domain; public class User { private int id;privateStringname;private Stringaddress;public int getId原创 2013-06-25 10:19:32 · 1395 阅读 · 0 评论 -
hibernate的多条件动态查询(非常实用)
在hibernate中是支持多条件动态查询的。这种问题是非常实用的。比如说你做一个项目要实现一个复合查询。例如有这么一个界面:那么要实现这个查询,对于用户来说他的查询条件可能不健全。有可能只填写其中的1-3项。那么要实现这个查询。我们可以用hibernate的动态条件查询。 下面我写一个例子。我有一张表叫user表。package com.fish.testda原创 2013-08-18 10:19:08 · 11421 阅读 · 3 评论