- 浏览: 308047 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
lzy.je:
期待FSF的!1985.10成立到现在GNU有多少大牛的项目数 ...
改变IT世界的11大Apache开源技术 -
dotaking:
7、8不了解
改变IT世界的11大Apache开源技术
数据库:Oracle 9i
JDBC驱动:OJDBC14
开发环境:Eclipse-JEE
Spring版本:Spring 2.0.6
Hibernate版本:Hibernate Core 3.2.5/Hibernate Annotation 3.3.0/Hibernate Validator 3.0.0/Hibernate Search 3.0.0 Beta4
//jdbc.properties(JDBC配置文件)
jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.0.3:1521:itone
jdbc.username=test
jdbc.password=test
//hibernate.properties(Hibernate配置文件)
hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
hibernate.show_sql=false
hibernate.cache.use_query_cache=true
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
hibernate.hbm2ddl.auto=update
######以下是Hibernate Search的简单配置######
hibernate.search.default.directory_provider=org.hibernate.search.store.FSDirectoryProvider
hibernate.search.default.indexBase=E:/indexes
//Foo.java(Hibernate POJO文件)
@Entity
@Table(name = "search_foo")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Indexed(index = "search_foo")
public class Foo implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@DocumentId
private Integer id;
@Column(nullable = false, length = 256)
@Field(name = "name", index = Index.TOKENIZED, store = Store.YES)
private String name;
@Lob
@Field(name = "content", index = Index.TOKENIZED, store = Store.YES)
private String content;
@Column(name = "post_time", nullable = false)
@DateBridge(resolution = Resolution.DAY)
private Calendar postTime;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Calendar getPostTime() {
return postTime;
}
public void setPostTime(Calendar postTime) {
this.postTime = postTime;
}
}
//hibernate.cfg.xml(Hibernate配置文件)
<?xml version="1.0"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<mapping class="com.itone.search.pojo.Foo"/>
</session-factory>
</hibernate-configuration>
//applicationContext-conf.xml(加载.properties文件的配置文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" lazy-init="false">
<property name="locations">
<list>
<value>classpath*:jdbc.properties</value>
<value>classpath*:hibernate.properties</value>
</list>
</property>
</bean>
</beans>
//applicationContext-database.xml(数据源及SessionFactory定义文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/>
<property name="configLocation" value="/WEB-INF/classes/hibernate.cfg.xml"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
<prop key="hibernate.cache.provider_class">${hibernate.cache.provider_class}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.search.default.directory_provider">${hibernate.search.default.directory_provider}</prop>
<prop key="hibernate.search.default.indexBase">${hibernate.search.default.indexBase}</prop>
</props>
</property>
</bean>
<bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator"/>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"/>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"/>
</beans>
//applicationContext-manager.xml(Manager定义文件)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans default-autowire="byName">
<bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
<property name="proxyTargetClass" value="true"/>
<property name="transactionAttributes">
<props>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
<!-- Authentication manager for login and role checking -->
<bean id="fooManager" parent="baseTxService">
<property name="target">
<bean class="com.itone.search.manager.FooManager"/>
</property>
</bean>
</beans>
//SpringMVC、Log4j、EHCache配置略
//FooManager.java(做全文检索示例)
package com.itone.search.manager;
import java.util.List;
import org.apache.lucene.analysis.StopAnalyzer;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Query;
import org.hibernate.search.FullTextQuery;
import org.hibernate.search.FullTextSession;
import com.itone.search.pojo.Foo;
public class FooManager extends BaseManager<Foo> {
@SuppressWarnings("unchecked")
public void testQuery() throws Exception {
QueryParser parser = new QueryParser("name", new StopAnalyzer());
Query luceneQuery = parser.parse("name:Jack");
FullTextSession s = Search.createFullTextSession(getSession());
FullTextQuery query = s.createFullTextQuery(luceneQuery, Foo.class);
List<Foo> result = query.list();
for(Foo f : result) {
System.out.println("ID:" + f.getId());
System.out.println("NAME:" + f.getName());
System.out.println("CONTENT:" + f.getContent());
System.out.println("POSTTIME:" + f.getPostTime());
}
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lenolong/archive/2008/12/20/3566941.aspx
发表评论
-
CGLIB-Spring的一种反射机制
2009-08-04 00:12 922Spring 在进行反射时候主要有两种策略,一种是直接用JDK ... -
Spring声明式事务管理及事务嵌套
2009-08-04 00:43 797Spring声明式事务管理及事务嵌套:Spring动态代理的一 ... -
CGLIB-Spring的一种反射机制
2009-08-04 00:12 924Spring 在进行反射时候主要有两种策略,一种是直接用JDK ... -
Spring声明式事务管理及事务嵌套
2009-08-04 00:43 1760Spring声明式事务管理及 ... -
怎样使用Spring发邮件?
2009-04-20 14:32 734怎样使用Spring发邮件? 2007-07- ... -
spring框架说明
2009-04-20 14:35 762spring框架 2007-06-27 15:18: ... -
spring执行定时任务
2009-04-20 14:37 711spring执行定时任务 2007-07-19 1 ... -
Spring让LOB数据操作变得简单易行
2009-04-20 14:39 899Spring让LOB数据操作变得 ... -
Spring的依赖关系(JAR)
2009-04-20 14:46 678Spring的依赖关系(JAR) 2007-06- ... -
使用Spring来创建一个简单的工作流引擎
2009-04-20 14:48 779使用Spring来创建一个简 ... -
spring各种邮件发送
2009-06-19 17:00 1011Spring邮件抽象层的主要包为org.springframe ... -
用Spring快速开发jms应用(JBOSS服务器)
2009-06-19 17:01 729异步进程通信是面向服 ... -
使用Spring来创建一个简单的工作流引擎
2009-06-19 17:06 794spring是支持控制反转编 ... -
Spring XML配置十二个最佳实践
2009-06-19 17:12 654在这篇文章里,对于Spri ... -
spring 事务管理
2009-07-08 17:33 1105关键字: 事务 spring Spring框架引人注目 ... -
为什么要用spring?
2009-07-08 18:16 779为什么要用spring, 下面 ...
相关推荐
☆ Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象...
Hibernate,Spring Data JPA)问候世界在此示例中,没有web.xml,没有Spring xml配置文件,没有persistence.xml,没有* .hbm.xml,只是没有XML配置文件,该文件从数据库中检索数据并以JSON格式返回它们。 该项目使用...
这是一个使用AngularJS,Java 8,Spring 4 MVC,JPA2,Hibernate,Maven,Git,GitHub和Heroku创建的非常简单的Web应用程序。 它提供RESTful服务来创建,更新和查看单个公司及其各自所有者,还提供检索和列出存储在...
MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm...
在这个实现中,我们使用 Spring Framework ORM EntityManager 使用预配置的数据源来实现基本操作,例如从数据库中插入、更新、删除和检索实体。 这种实现的主要优点是,由于这个 dao 是使用 Java 泛型实现的,我们...
规范模式示例 一个如何在Java中实现规范模式的示例 规范模式-这是什么? 规范对象表示给定类型的对象应满足的条件。 规范必须实现检查对象是否满足预期条件的方法isSatisfiedBy(Object o) 。 当从存储库(具有简化...
###功能已完成: 100%无xml且充满糖 与ssl集成 无会话休息Web服务 用户/密码认证 令牌认证(检查ip和ttl) 发布用utf-8编码的静态文件的示例 服务方法级别的全局授权示例 向控制器传递参数的示例(路径,查询,...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...
GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以...