在hibernate.cfg.xml配置文件中配置
<property name="hibernate.jdbc.fetch_size">50</property>
//每次查詢50條
<property name="hibernate.jdbc.batch_size">50</property>
//每次更新50條
posted @
2009-03-16 18:03 simplye 閱讀(846) |
評論 (0) |
編輯 收藏
1 List students =session.createQuery("select c.name, count(s) from Student s join s.classes c " +
2 "group by c.name order by c.name").list();
3 for (Iterator iter=students.iterator(); iter.hasNext();) {
4 Object[] obj = (Object[])iter.next();
5 System.out.println(obj[0] + ", " + obj[1]);
6 }
posted @
2009-03-05 22:43 simplye 閱讀(875) |
評論 (0) |
編輯 收藏
1.
List students = session.createQuery("select c.name, s.name from Student s inner join s.classes c").list();
for (Iterator iter=students.iterator(); iter.hasNext();) {
Object[] obj = (Object[])iter.next();
System.out.println(obj[0] + "," + obj[1]);
}
2.
//左連接
List students = session.createQuery("select c.name, s.name from Classes c left join c.students s").list();
for (Iterator iter=students.iterator(); iter.hasNext();) {
Object[] obj = (Object[])iter.next();
System.out.println(obj[0] + "," + obj[1]);
}
posted @
2009-03-05 22:37 simplye 閱讀(2618) |
評論 (0) |
編輯 收藏
/*
構建HQL語句進行查詢
*/
1.
Query query = session.createQuery("select s.id, s.name from Student s where s.name like ? ");
//用?占位符
query.setParameter(0, "%1%");
//添加查詢條件
List students = query.list();
//返回查詢列表
2.
//可以用in()來進行多條件查詢,使用setParameterList把所有的查詢的條件放入list中
//可以用 :參數 來傳遞參數
List students = session.createQuery("select s.id, s.name from Student s where s.id in(:myids) ")
.setParameterList(myids, new Object[]{1,2})
.list();
3.
//日期查詢語句
List students = session.createQuery("select s.id, s.name from Student s where date_format(s.createTime, '%Y-%m')=? ")
.setParameterList(0, 2009-1)
.list();
4.
//日期段的查詢
//首先構建一個日期對象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List students = session.createQuery("select s.id, s.name from Student s where s.createTime between ? and ? ")
.setParameter(0, sdf.setparse("2009-1-1 00:00:00"))
.setParameter(1, sdf.setparse("2009-2-1 23:59:59"))
.list();
posted @
2009-03-05 16:20 simplye 閱讀(6416) |
評論 (1) |
編輯 收藏
web容器:給處于其中的應用程序組件(JSP,SERVLET)提供一個環境,使JSP,SERVLET直接更容器中的環境變量接口交互,不必關注其它系統問題。主要有WEB服務器來實現。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。該容器提供的接口嚴格遵守J2EE規范中的WEB APPLICATION 標準。我們把遵守以上標準的WEB服務器就叫做J2EE中的WEB容器。
EJB容器:Enterprise java bean 容器。更具有行業領域特色。他提供給運行在其中的組件EJB各種管理功能。只要滿足J2EE規范的EJB放入該容器,馬上就會被容器進行高效率的管理。并且可以通過現成的接口來獲得系統級別的服務。例如郵件服務、事務管理。
JNDI:(Java Naming & Directory Interface)JAVA命名目錄服務。主要提供的功能是:提供一個目錄系統,讓其它各地的應用程序在其上面留下自己的索引,從而滿足快速查找和定位分布式應用程序的功能。
JMS:(Java Message Service)JAVA消息服務。主要實現各個應用程序之間的通訊。包括點對點和廣播。
JTA:(Java Transaction API)JAVA事務服務。提供各種分布式事務服務。應用程序只需調用其提供的接口即可。
JAF:(Java Action FrameWork)JAVA安全認證框架。提供一些安全控制方面的框架。讓開發者通過各種部署和自定義實現自己的個性安全控制策略。
RMI/IIOP:(Remote Method Invocation /internet對象請求中介協議)他們主要用于通過遠程調用服務。例如,遠程有一臺計算機上運行一個程序,它提供股票分析服務,我們可以在本地計算機上實現對其直接調用。當然這是要通過一定的規范才能在異構的系統之間進行通信。RMI是JAVA特有的。
posted @
2009-03-05 11:01 simplye 閱讀(2631) |
評論 (0) |
編輯 收藏
1.
/**
單一屬性查詢
*/
List s = session.createQuery("select name from Student").list();
//返回的類型與實體類中相應的屬性類別一直.
2.
/**
多個屬性查詢
*/
List s = session.createQuery("select id, name from Student").list();
//查詢多個屬性,返回值為對象的數組
//數組元素類型和對應的實體類型一直
//數組長度與查詢的條件相同
3./**
返回student實體類,
還要在實體類中提供空的構造函數,和帶參數的構造函數
*/
List s = session.createQuery("select new Student(id, name) from Student").list();
//返回的便是實體類
4.
可以實用別名,用as
5.
/*
list()與iterate()方法的區別.
*/
iterate()迭代中會發生N+1的現象,它與session的綁定.當session在緩存中存在時用iterate()會提高一定的效率.沒有在發生N+1現象
list()只會向數據庫查詢的SQL,除非配置查詢緩存.
posted @
2009-03-04 17:17 simplye 閱讀(320) |
評論 (0) |
編輯 收藏
/*
悲觀鎖
*/
Inventory inv = (Inventory)session.load(Inventory.class, 1, LockMode.UPGRADE);
// 在數據庫設置為不可重復讀下設置,LockMode為枚舉類型.
/*
樂觀鎖
*/
Inventory inv = (Inventory)session.load(Inventory.class, 1);
// 在映射文件中添加<version>字段,在讀取時讀取version字段進行判斷,如果version數值小于等于當前數值則報錯.
posted @
2009-03-04 14:39 simplye 閱讀(229) |
評論 (0) |
編輯 收藏
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="setValue" table="t_set_value"> // set的映射
<key column="set_id"/> // 外鍵關聯
// <composite-element> 對象集合
<element type="string" column="set_value"> // 字符串集合 放入表中
</set>
<list name="listValue" table="t_list_value"> //list的映射
<key column="list_id"/>
<list-index column="list_index"/> // 將存入表數據排序放入一個字段中
<element type="string" column="list_value"/>
</list>
<array name="arrayValue" table="t_array_value">
<key column="array_id"/>
<array-index column="array-index"/>
<element type="string" column="array_value"/>
</array>
<map name="mapValue" table="t_map_value">
<key column="map_id" />
<map-key type="string" column="map_key"/> //存放map中的key值
<element type="string" column="map_value"/> //存放map中的value值
</map>
</class>
</hibernate-mapping>
posted @
2009-03-03 17:59 simplye 閱讀(246) |
評論 (0) |
編輯 收藏
1 <?xml version="1.0"?>
2 <!DOCTYPE hibernate-mapping PUBLIC
3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5 <hibernate-mapping >
6 <class name="com.simplye.hibernate.User" table="t_user">
7 <id name="id">
8 <generator class="native"/>
9 </id>
10 <property name="name"/>
11
12 <many-to-one name="group" column="t_group"/>
13
14 </class>
15 </hibernate-mapping>
多段實用外鍵
1 <?xml version="1.0"?>
2 <!DOCTYPE hibernate-mapping PUBLIC
3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5 <hibernate-mapping >
6 <class name="com.simplye.hibernate.Group" table="t_group">
7 <id name="id">
8 <generator class="native"/>
9 </id>
10 <property name="name"/>
11 </class>
12 </hibernate-mapping>
posted @
2009-03-02 14:43 simplye 閱讀(191) |
評論 (0) |
編輯 收藏
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.simplye.hibernate">
<class name="User" table="t_user">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<component name="contact"> //附屬類
<property name="email">
</component>
</class>
</hibernate-mapping>
posted @
2009-03-02 01:53 simplye 閱讀(344) |
評論 (0) |
編輯 收藏
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.simplye.hibernate">
<class name="Animal" table="t_animal"> //可以設置抽象類,使抽象類不被創建 abstruct="true"
<id name="id">
<generator class="uuid"/> //或者手動生成assigned
</id>
<property name="name"/>
<property name="sex"/>
<union-subclass name="Pig" table="t_pig">
<property name="weight"/>
</union-subclass>
<union-subclass name="Brid" table="t_brid">
<property name="height">
</union-subclass>
</class>
</hibernate-mapping>
posted @
2009-03-02 01:26 simplye 閱讀(166) |
評論 (0) |
編輯 收藏
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.simplye.hibernate">
<class name="Animal" table="t_animal">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<property name="sex"/>
<joined-subclass name="Pig" table="t_pig">
<key column="pig"/>
<property name="weight"/>
</joined-subclass>
<joined-subclass name="Bird" table="t_brid">
<key column="brid"/>
<property name="height"/>
</joined-subclass>
</class>
</hibernate-mapping>
posted @
2009-03-01 22:46 simplye 閱讀(348) |
評論 (0) |
編輯 收藏
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.simplye.hibernate">
<class name="Animal" table="t_animal">
<id name="id">
<generator class="native"/>
</id>
<discriminator column="type" type="string"/>
<property name="name"/>
<property name="sex"/>
<subclass name="Pig" discriminator-value="P">
<property name="weight"/>
</subclass>
<subclass name="Bird" discriminator-value="B">
<property name="height" />
</subclass>
</class>
</hibernate-mapping>
posted @
2009-03-01 22:38 simplye 閱讀(135) |
評論 (0) |
編輯 收藏
開始BBS小程序,記錄問題與知識點
posted @
2008-12-15 15:57 simplye 閱讀(83) |
評論 (0) |
編輯 收藏