文档详情

Hibernate笔记(全).doc

发布:2017-01-28约1.76万字共20页下载文档
文本预览下载声明
Hibernate 休眠冬眠 作用:用来简化数据库访问(增删改查) 它是一种ORM框架 Object relationship mapping Java对象 关系(型DB) 映射(java对象和数据之间的对应关系) 实体类(需要默认的构造方法,不能加final)--表 属性--列 一个对象--一行数据 hibernate 使用步骤: 1.添加jar: 中文文档的 位置: Javadoc文档的 位置: Jar 包 目录: Ojdbc.jar Project 源码: 配置文件: src\hibernate.cfg.xml 连接数据库: 数据库类型: 映射关系文件的所在位置: 建立数据库表和实体类之间的映射关系: 实体类中建立 映射文件:mapping(***) *.hbm.xml 用api进行增删改查 Connection PreparedStatement ResultSet 类 :Configuration 对应 hibernate.hbm.xml 接口:SessionFactory:创建Session对象 接口:Session(是hibernate提供的用来执行增删改查) .save(实体对象) 增加 Configuration cfg = new Configuration().configure();// 1. 获得配置对象,代表hibernate.cfg.xml SessionFactory sf = cfg.buildSessionFactory();// 2. 创建session工厂 Session session = sf.openSession(); // 3. 创建session对象// 打开新的session session.beginTransaction();// 4. 增删改需要事务控制 Transaction .commit() .rollback() // 事务开始 Student st=new Student(); st.setName(“z行三”); st.setAge(12); st.setBirthday(“1988-02-11”); st.setScore(100); Session.save(Student); session.getTmit(); Session.close(); .update(实体对象) 修改 :将所有属性都赋值 1 2 .delete(实体对象) 删除 1 2 .get(实体类名.class,id); 根据id进行查询 Configuration cf=new Configuration().configure(); SessionFaction sf=cf.buildSessionFactory(); Session session=sf.openSession(); Update table set column=?; 查询多条记录: SQL() 面向的是表 条件比较时用列名 使用HQL(hibernate 查询语言) 面向的是对象,条件比较时使用属性名 From User 查询所有用户的对象 From User where username=? 用户名属性进行查询 Query query=session.createQuery(hql);//创建一个查询对象 List查询的实体类型 list=query.list() //执行查询 HQL:语句: Hql:from User where username=?; query.setString(0,username);//下标从0开始;不会有hql注入攻击问题 Hql中也有支持?占位符的,好处可以避免注入攻击,下标从0开始 hibernate改写dao.service 主键生成器 1.Assigned:主键值由自己赋值 当用户名作为主键时 2.Increment:找到原有数据中主键最大值+1,作为新的主键值 不能用于并发插入,容易产生主键冲突的错误 3.Sequence:generator class=”sequence”/ 会使用一个名为hibernate_sequence; id name=did generator class=sequence param name=sequence序列名/param /generator /id Create sequence sequence_seq start with 10; Hibernate.cfg.xml配置: !-- 显示hibernate 底层sql时 -- property name=hibernate.show_sqltrue/
显示全部
相似文档