-
session的作用: 一:hb執行的流程 1:設置配置對象configuration,用來讀取 配置文檔(cfg.xml)/獲得配置對象的目的是為了創建sessiongFactory對象 2:sessionFactory對象可以讀取和加載里面的關系映射文件 3:創建session對象,類似于jdbc里面的connection,并且獲得了session對象就相當于獲得了數據庫連接對象,就可以執行session對象里面的相應方法 4:在執行某一個session對象方法之前必須開啟一個事物,也就是說方法都是要封裝在事物中,方法結束后要先提交事物。然后再關閉session 二:什么是session 1:hb是對jdbc的一個封裝,不建議直接用jdbc操作數據庫,可以簡單的講session理解為操作數據庫的對象 三:什么是事物trsanciton 不使用事物就不能將數據保存到數據庫中 獲得sessioin對象的方法: 1:openSession() 2:getCurrentSession() 如果使用getCurrentSession需要在hibernate.cfg.xml文件中進行配置 openSession與getCurrentSession的區別: (1)getCurrentSession在事務提交或者回滾之后會自動關閉,而openSesssion需要你手動關閉。如果使用openSession而沒有手動關閉,多次之后會導致連接池溢出! (2)openSession每次創建新的session對象,getCurrentSession使用現有的session對象查看全部
-
get和load的區別 在不考慮緩存的情況下,get方法會在調用之后立即向數據庫發出sql語句,返回持久化對象 load方法會在調用后返回一個代理對象,該代理對象只保存了實體對象的id,直到使用對象的非主鍵屬性時才會發出sql語句 (2)查詢數據庫中不存在的數據時,get方法返回null,load方法拋出org.hibernate.ObjectNotFoundException查看全部
-
獲取Blob查看全部
-
不使用事務的自動提交方式,記得用session.flush()來輸出sql語句,否則添加不成功查看全部
-
主鍵生成策略查看全部
-
事務介紹。查看全部
-
hibernate.cfg.xml配置查看全部
-
hibernate執行流程查看全部
-
Students.hbm.xml的配置內容 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.wangchao.DAO.Students" table="STUDENTS"> <id name="sid" type="int"> <column name="SID"/> <generator class="assigned" /> </id> <property name="sname" type="java.lang.String"> <column name="SNAME"></column> </property> <property name="gender" type="java.lang.String"> <column name="GENDER"></column> </property> <property name="birthday" type="java.util.Date"> <column name="BIRTHDAY"></column> </property> <property name="address" type="java.lang.String"> <column name="ADDRESS"></column> </property> </class> </hibernate-mapping>查看全部
-
hibernate.cfg.xml的配置內容: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.username">root</property> <property name="connection.password">7688193</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="connection.url"> jdbc:mysql:///hibernate?useUnicode=true&characterEncoding=UTF-8 </property> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <!-- --> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property> <mapping resource="Students.hbm.xml" /> </session-factory> </hibernate-configuration>查看全部
-
ORM是一種面向對象編程的方法,用這種方法來避免寫數據庫底層語言sql語句,這樣有利于java的跨平臺,擴展。維護。而hirenate是ORM的一種框架 hirbernate開發基本步驟 編寫配置文檔hirbernate.cfg.xml文檔 編寫實體類 生成對應尸體類的映射文件并添加到配置文檔中 調用hirbernate api進行測試 什么是seesion hirbernate操作數據庫都要用session,調用session.api方法。來操作. openssion每次都會創建一個新的對象,所以用完后要調用吧session.close().關閉,不然多了后連接池滿了會有溢出的現象。 而getCurrentSession是單例模式,每次創建的都是同一個對象吧,使用完后自動會銷毀。 單表操作方法 save delete update get load 單表操作 get load get獲取后馬上發送sql語句,返回一個實體 load獲取后進行緩存,調用都發送 返回一個實體代理對象查看全部
-
get和load的區別 在不考慮緩存的情況下,get方法會在調用之后立即向數據庫發出sql語句,返回持久化對象 load方法會在調用后返回一個代理對象,該代理對象只保存了實體對象的id,直到使用對象的非主鍵屬性時才會發出sql語句 (2)查詢數據庫中不存在的數據時,get方法返回null,load方法拋出org.hibernate.ObjectNotFoundException查看全部
-
get與load查看全部
-
get與load的區別查看全部
-
組件屬性 就是用一類把幾個屬性封裝在一起用類的對象調用,在配置文件中 <component name="取的名字" class="類名"> <property name="類中屬性" columen="對應生成數據庫中列屬性名"> </compoment>查看全部
舉報
0/150
提交
取消