hibernate Day2 笔记】的更多相关文章

1.主键生成策略 <!--映射配置文件 >映射配置文件名称和位置没法有固定要求 >映射配置文件中的name属性值写实体类相关内容 -- class 标签name属性值实体类全路径 -- id标签和property标签name属性值 实体类的属性名称(注意要完全一样) -- id标签和property标签中的column属性是可以省略的,如果不写,则生成的字段名与属性名一样,建议写 出,这样比较清析. -- property标签中 还有一个属性type属性,用于设定字段的类型,我们可以不用…
Hibernate关联关系笔记 单向N:1 *  有连接表:在N方使用<join>/<many-to-one>.1方无需配置与之关联的持久化类. *  没有连接表:在N方使用<many-to-one>.1方无需配置与之关联的持久化类. 单向1:N *  有连接表: 在1方使用<set>/<many-to-many>,在many-to-many中将unique属性设置为true. N方无需配置与之关联的持久化类. *  没有连接表:在1方使用<…
2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映射. 瞬时态 transisent:(临时态) 持久态 persistent 脱管态 detached:(离线态) 1.1.2 三种持久化对象的状态 Transient瞬时态:持久化对象没有唯一标识OID.没有纳入Session的管理. Persistent持久态:持久化对象有唯一标识OID.已经纳…
2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建立一种关系.Hibernate中可以通过操作对象的方式,从而操作数据库的表. 常见的持久层框架: Hibernate MyBatis JPA DBUtils Hibernate3.x和Hibernate4.x 2.Hibernate快速入门: 2.1 下载Hibernate开发包. http://s…
Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰到了两个Exception. 我们在使用hibernate的时候需要引入许多jar包,如果jar包少引入了或者版本老旧就会报错,下面是我遇到的两个Exception ,第一个是因为项目缺少slf4j-api.jar和slf4j-log4j12.jar这两个jar包.第二个是因为缺少log4j.jar…
Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库的存取都与Session有关Session由SessionFactory创建,是线程安全的Thread-Safe,可以让多个线程同时存取SessionFactory而不会有数据共享的问题 Hibernate中Session的解释 :http://blog.csdn.net/shrek_xu/arti…
目录 WC集训DAY2笔记 组合计数 part.1 基础知识 组合恒等式 错排数 卡特兰数 斯特林数 伯努利数 贝尔数 调和级数 后记 补完了几天前写的东西 WC集训DAY2笔记 组合计数 part.1 今天开 幕 雷 击:PKUWC没过 UPD:THUWC也没过,听说群友380过了,也是高一,我378...,WC集训完可以愉快地vanyousee了(呜呜呜 UPD2:由于我在弱校,是高中rk1(黄神MLE了...),苟进了NOIWC 写笔记,就是记结论的意思 基础知识 组合恒等式 \[ 2^n…
一.Hibernate基础 1.Hibernate简介 Hibernate是一种对象关系映射(ORM)框架,是实现持久化存储的一种解决方案.Java包括Java类到数据库表的映射和数据查询及获取的方法,能够大大减少开发人员使用JDK和SQL处理数据的时间. 2.Hibernate获取 Hibernate的官网是http://www.hibernate.org,需要的时候可以去官网上下载相关的版本. 3.Hibernate配置 在一个项目中有时候不需要Hibernate中的全部jar包,所以当项目…
1. 初识Hibernate——关系映射 http://blog.csdn.net/laner0515/article/details/12905711 2. Hibernate 笔记8 关系映射1(多对一,一对多): http://www.cnblogs.com/zilong882008/archive/2011/11/05/2236559.html 3. Hibernate关联映射 http://www.cnblogs.com/huxi/archive/2009/12/15/1624988.…
作者:ssslinppp       1. 摘要 主要讲解N-1关系表的设计,N:从表,1:主表: 从表(N)中使用外键关联到主表(1),单向的: 场景: 许多人(N)可以住在同一个地方(1),知道人就可以知道这个人的地址: 反过来,知道地址,不能知道该地址住的人. 2. 数据表设计 地址表: Person表: e 3. 实体类-注解方式 Address.java package org.crazyit.app.domain; import javax.persistence.Column; i…
作者:ssslinppp       1. 摘要 关于日期类型,Java和数据库表示的方法不同: Java:只有java.util.Date和java.util.Calender两种: 数据库:date.time.datetime.timestamp等: 当在持久化类定义了一个java.util.Date类型的属性时,Hibernate到底将该类型的属性定义成date类型.time类型还是timestamp类型? 使用@Temporal注解: @Temporal: @Temporal(Tempo…
ORM映射关系:注解方式 package org.crazyit.app.domain; import javax.persistence.*; import org.hibernate.annotations.Formula; @Entity(name="news_inf") public class News { // 消息类的标识属性 @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id;…
jar包 hibernate.cfg.xml <?xml version="1.0" encoding="GBK"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.d…
摘要 在Spring下整合Hibernate时,关于sessionFactory的配置方式主要有两种,分别为注解配置方式,和xml配置方式,下面将对这两种配置方式进行介绍. 1. sessionFactory和数据库对应,有多少个数据库,就需要配置多少个sessionFactory: 2. session相当于数据库连接,进行数据库的CRUD操作时,需要开启session,用完需要关闭session: 3. 配置sessionFactory,主要要配置如下三个方面:   3.1. 数据源配置:…
持久化类的创建: 创建一个共有的不带参数的构造方法: public void Students(){ } 创建一个带参数的构造方法: (快捷键创建) 生成get,set方法: *可以不用此方法创建持久化类,直接用笔记(1)中的快速搭建来创建 在源文件中创建source file ,创建StudentsTest类进行测试,导入相应的hibernate和junit包,用junit测试此方法,代码如下: public class StudentsTest { private SessionFactor…
Day21 实体类编写规则(1 ) 实体类中的属性是私有属性(2) 私有属性要生成get与set方法(3) 实体类中有属性作为唯一值(一般使用id值)(4) 实体类属性建议不要使用基本数据类型, 应当使用基本数据类型的包装类int ----> Integer为什么建议我们使用包装类呢?比如表示学生的分数, 如 int score;-- 如果学生得了0分, int score=0;-- 如果学生没有参加考试, 那么用int score=0: 不能准确表示学生是否参考试-- 如果使用 Integer…
我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改以下是b站视频地址:https://www.bilibili.com/video/av14626440   Hibernate查询方式 1 对象导航查询 1)根据id来查询出某个客户,再查询这个客户里面的联系人 2 oid查询 1)根据id查询某一条记录,返回对象(利用session里面的get方法) 3 hql查询 1)Query对象,写hql语句   *查询所有 : from  实体类名称 *条…
我是从b站视频上学习的hibernate框架,其中有很多和当前版本不符合之处,我在笔记中进行了修改以下是b站视频地址:https://www.bilibili.com/video/av14626440   *表与表之间的关系回顾(一对多) 1)分类与商品,一个分类可以有多个商品,一个商品只能属于一个分类   *表与表之间的关系回顾(多对多) 1)订单与商品,一个订单里面可以有多个商品,一个商品可以属于多个订单   *表与表之间的关系回顾(一对一) 1)在中国,夫妻关系便是一对一的关系     *…
因为在学习Spring的时候学到有关数据库的章节的时候,提及到了hibernate的集成,可是我对hibernate技术差点儿是一点不了解.仅仅是知道它是一个orm对象映射框架,所以在初探的章节做一下hibernate的简单了解,以及应用.顺便提一句,我用的是maven加入的hibernate开发包 简单使用hibernate的一般步骤 *创建而且编辑hibernate配置文件 该配置文件主要是用于链接数据库所用,定义了数据库的驱动程序和映射文件的位置.例如以下是一个简单的配置 <?xml ve…
1.创建一个普通的java项目 2.加入Hibernate所有的jar包 3.建立包名com.bjpowernode.hibernate 4.建立实体类User.java package com.bjpowernode.hibernate; import java.util.Date; public class User { private String id; private String name; private String password; private Date createTi…
相关基础概念请从其它教材简单了解,这里仅记录下第一个Hibernate程序的实现步骤. 环境说明: java开发工具:eclipse MARS.2 Release(4.5.2) hibernate版本:hibernate-release-4.3.6.Final Web 容器:Tomcat v8.0 数据库:MySQL 5.6.19-enterprise-commercial-advanced jdbc驱动:mysql-connector-java-commercial-5.1.30-bin.ja…
一:优化配置 1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句 2.级联cascade属性设置:全部或部分设置为级联 如设置为sava-update(级联更新),当进行保存或更新时,会级联保存所有的关联映射的字段对象; 这就会导致一个问题:如果在many端有几千条数据被修改,则需要执行同样数量的update语句,会导致性能浪费 解决:在many端设置为none;在one端设置为需要的级…
主键生成策略 @Id //根据底层数据库决定,mysql-->auto_increment @GeneratedValue(strategy=GenerationType.AUTO) //使用数据表 @TableGenerator(name="table_name",allocationSize=1) @GeneratedValue(strategy=GenerationType.TABLE,generator="table_name") //使用序列 @Se…
采用JUnit测试,继承TestCase import java.util.Date; import junit.framework.TestCase; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class Client extends TestCase{ Configuration config = new C…
Hibernate持久化对象有3中状态,瞬时对象(transientObjects),持久化对象(persistentObjects),离线对象(detachedObjects) 下图显示持久化三种状态之间的关系 临时状态:由Java的new命令开辟内存空间的java对象也就是普通的java对象,如果没有变量引用它它将会被JVM收回.临时对象在内存中 是孤立存在的,它的意 义是携带信息载体,不和数据库中的数据由任何的关联.通过Session的save()方法和saveOrUpdate()方法可以…
hql语句的查询(hibernate query language) hql和sql语句的区别sql:语言关系型数据库里面的通用查询,结构化查询语言,查看的是表以及表的列hql是hibernate中独有的查询语言,其是面向对象的查询语句,查询的是类以及类中的属性注意:hql语句不能执行insert语句,且最终编写的hql语句会转化为相应的sql语句,以及hibernate的get/load方法只能通过主键的方式进行查询from User u where u.name='zhangsan' and…
一.关于联合主键的映射测试实例 实体类: package com.***.comBineKey;public class Person { private Person_pk pk; private long age; public Person_pk getPk() { return pk; } public void setPk(Person_pk pk) { this.pk = pk; } public long getAge() { return age; } public void s…
---恢复内容开始--- 一.hibernate如何转化jdbc代码实例[通过hibernate构建jdbc后往数据库传对象] import java.sql.Connection;import java.sql.SQLException;import java.sql.Statement; import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;impor…
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架 hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久…
hibernate.cfg.xml文件配置中: <property name="hibernate.hbm2ddl.auto">update</property>update首先查询数据库的表,如果有表不会删除,直接追加,前提,表和我对象是映射符合要求不符合直接报错,<property name="hibernate.hbm2ddl.auto">create</property>这种方式呢每次都会把映射文件对应的表删除…