打开数据库 注册驱动 获取连接
得到语句
…….. 关闭连接
2.Session中的方法 3.查询HQL与Criteria
1.主配置文件
2.映射文件 普通属性 主键 集合属性 关联关系 1-N N-1 1-1 N-N 继承结构
configure(); 读取默认文件 configure(Strig resource); 读取指定文件 buildSessionFactory
addResource(String resource) 导入一个指定位置的映射文件 addClass(class className) 导入与指定类同一个包中的以类名为前缀,后缀为.hbm.xml的映射文件
openSession(); getCurretSession(); close();
save(Object) update(Object) delete(Object)
查询的方法 createQuery(String)
createCriteria(Class)
管理事务的方法 beginTransaction();——Transaction(返回一个事物对象)
getTransaction() —得到与当前session关联的事务
其他方法——-
comnint(); rollback();
Query
list(); 得到一个集合结果 uniqueResult() 得到一个唯一的结果,如果没有结果,返回 NULL 如果结果又多个,就抛出异常1.配置的key前面的hibernate. 前缀可有可无,如 hibernate.dialect 或dialect 2.按作用可分为三类 1.数据库信息 方言,URL,驱动,用户名,密码 2.导入映射文件 3.其他配置
show_sql format_sql hbm2ddl.auto 自动生成表结构 ....映射文件的作用:配置 对象与表的关系
对象 ——映射配置——–表
生成表结构的2种方式 1.hbm2ddl.auto 2.使用 SchemaExport 工具类
hibernate 持久层框架
添加环境 1.jar包 2.配置文件 hibernate.cg.xml xxx.hbm.xml 3.
使用hibernate实现增删查改(CRUD) 准备
Configuration cfg = new Configuration.configure(); SesstionFactory sesstionFactory = cfg.buildSesstionFactory();//只需要一个 模板代码 Session session = sesstionFactory .openSession(); Transaction tx =null; try { tx = session.beginTransaction(); //session.save(user);//操作 tx.commit(); } catch (RuntimeException e) { System.out.println("错误原因: "+e.getMessage()); tx.rollback(); throw e; }finally{ session.close(); }操作 Session中的方法
save(Object)
update(Object)
delete(Object)
get(class,id)
createQuery(hql)
saveOrUpdate(Object) …..
以上根据方言生成不同数据库的SQL语句
主配置文件 1.数据库信息 方言 URL 驱动 用户名 密码 2.其他信息 show_sql format… hbm2ddl.auto … 3.导入映射文件
映射配置 映射基础 类–表 属性—列 映射普通属性 name type column length not-null … 映射主键
主键生成策略:native(主键是数字类型) uuid(hibernate自动指定,但是主键是必须是字符串类型)mysql–identy orcal– SQL-server–