-
1.clob和text對應大文本文件,blob對應大的二進制文件,例如視頻音頻圖片 2.java中的clob對應存儲大文本文件,java中的blob對應存儲大二進制文件 MySQL不支持標準SQL的CLOB類型,在Mysql中,用TEXT,MEDIUMTEXT及LONGTEXT類型來表示長度超過255的長文本數據 獲取照片文件的寫法 File f=new File("照片的地址"+File.separator+"照片名字"); InputStream input =new FileInputStream(f); Blob image=Hibrbate.getLobCreator(session).createBlob(input,input.available()); s.setpPicture(image); session.save(s);查看全部
-
對象關系映射文件中type屬性查看全部
-
單一主鍵 (1)assigned 由java應用程序負責生成(手工賦值) (2)native 由底層數據庫自動生成標示符,如果是MySQL就是increment,如果是Oracle就是sequence,等等查看全部
-
(5)User.hbm.xml常用配置【】 <hibernate-mapping schema="schemaName" //模式的名字 catalog="catalogName" //目錄的名稱 default-cascade="cassade_style" //級聯風格 @ default-access="field/property/CalssName" //訪問策略 @ default-lazy="true/false" //加載策略 @ package="packagename" //默認包名 /> <class name="ClassName" //對應映射的類 table="tableName" //對應映射數據庫的表 batch-size="N" //抓取策略,一次抓取多少記錄 where="condition" //條件 eg:抓取條件 entity-name="EntiyName" //如果需要映射多張表 /> <id //表的主鍵 name="propertyName" //對應的屬性 type="typeName" //對應類型 column="column_nam" //映射數據庫中表當中字段名的名稱 length="length" //指定長度 <generator class="generatorClass"/> //主鍵生成策略 @ /> 主鍵生成策略 其中:native 對應MySQL的auto-incremented,字段的類型必須是整型;assign手工賦值。查看全部
-
openSession與getCurrentSession的區別: (1)getCurrentSession在事務提交或者回滾之后會自動關閉,而openSesssion需要你手動關閉。如果使用openSession而沒有手動關閉,多次之后會導致連接池溢出! (2)openSession每次創建新的session對象,getCurrentSession使用現有的session對象 openSession與getCurrentSession openSession 每次使用都是打開一個新的session,使用完需要調用close方法關閉session; getCurrentSession 是獲取當前session對象,連續使用多次時,得到的session都是同一個對象,這就是與openSession的區別之一 ; 一般在實際開發中,往往使用getCurrentSession多,因為一般是處理同一個事務,所以在一般情況下比較少使用openSession;查看全部
-
如何獲得session對象??? 調用會話工廠sessionFactory中的 (1)openSessionion(); (2)getCurrentSession(); 如果使用getCurrentSession需要在hibernate.cfg.xml文件中進行配置: 如果是本地事務(jdbc事務) <property name="hibernate.current_session_context_class">thread</property> 如果是全局事務(jta事務) <property name="hibernate.current_session_context_class">jta</property>查看全部
-
transaction 事物 hibrenate操作都是封裝在事物中,并且默認是非自動提交方式,所以session保存對象時,如果不開啟事物,并且手工提交事物,對象并不會真正保存在數據庫中 打開session后,必須提交事務(Transaction),否則數據不會真正保存在數據庫中。 beginTransaction,commit(可用session.doWork(new Work(){}))方法來實現 不使用事務的自動提交方式,記得用session.flush()來輸出sql語句,否則添加不成功,如下圖所示:查看全部
-
configuration:讀取配置文檔 sessionFactory:對象關系映射文件 session:操作數據庫的對象,類似于JDBC中的connection session的方法:save,delete,update,createQuery() Transaction:commit session和connection:多對一關系,一個connection服務多個session,每個session都有與之對應的connection 1.不建議直接使用jdbc的connection操作數據庫,而是通過session操作數據庫。 2.session可以了解為操作數據庫的對象,操作數據庫之前必須先獲取session的實例 3.session與connection,是多對一關系,每個session都有一個與之對應的connection,一個connection不同時刻可以供多個session使用。 4.把對象保存到關系數據庫中需要調用session的各種方法:save(),update(),delete(),createQuery 下圖為hibernate的執行流程:查看全部
-
hibernate.cfg.xml常用配置 (1)hibernate.show_sql 編碼階段便于測試 (2)hibernate.format_sql 排版問題,建議設置為true (3)hbm2ddl.auto 可以幫助由 java代碼生成數據庫腳本,進而生成具體的表結構。create/update/create-drop/validate (4)hiberante.default_schema 默認的數據庫 (5)hibernate.dialect 配置Hibernate數據庫方言 hiberante的前綴可以省略,即:hibernate.dialect等同于dialect查看全部
-
//創建初始化 @Before Configuration config=new Configuration().configure();//創建配置對象 //創建服務注冊對象 ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties).buildServiceRegistry(); sessionFactory=config.buildSessionFactory(serviceRegistry);//創建會話工廠 session=sessionFactory.openSession();//打開會話 transaction=session.beginTransaction();//打開事務 transaction.commit();//提交事務 session.close();//關閉會話 sessionFactory.close();//關閉會話工廠查看全部
-
創建對象關系映射文件后,需在hibernate.cfg.xml配置文件聲明,例如: <mapping resource="com/apache/entity/User.xml" /> 代碼表示初始化 Hibernate 環境時將裝載User.xml 映射信息。 * 創建數據庫,字符集 和 排序規則 都設置為 utf-8 格式 * Source Folder -- 源程序文件 * 使用 junit 測試: @Test 測試注釋標簽 @Before 初始化方法 @After 釋放資源查看全部
-
新建MAP映射文件 New -> other - > Hibernate -> Hibernate XML Mapping file (hbm.xml) 有向導,可以選類,把實體類映射成數據庫中的一張表。 屬性都映射為表中的字段 在cfg.xml里面把設計的各個類的hbm.xml給map上。查看全部
-
hibernate持久化類的設計原則,和JavaBeans一樣,遵循4個設計原則: 1.是公有的類 2.提供公有的不帶參數的默認的構造方法 3.屬性私有 4。屬性setter/getter封裝查看全部
-
Hibernate的配置文件 <property name="connection.username">root</property> <property name="connection.password">123456</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>查看全部
-
創建一個普通的java工程:<br> 1.構建用戶類庫:windows--preference--java標簽--buildpath--user libraries---new創建類庫文件夾---Add Extra jars添加jar包 <br> 2.在項目名上右鍵----properties---java buildpath---libraries---Add libraies--user libraries--勾選上--完成查看全部
舉報
0/150
提交
取消