`
longgangbai
  • 浏览: 7339791 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SpringLuence的学习总结(二)

SQL 
阅读更多

  在SpringLuence中另外两种创建Document的方式为:通过数据库和对象创建相应的DOcument对象。

  通过Java对象的反射机制获取类的各个属性方法和方法,获取类的属性和属性值,创建索引文档Document对象。

 

通过一个Object对象创建Document对象使用 ReflectiveDocumentHandler处理器

如果要将一个属性Properties对象创建为Document,使用PropertiesDocumentHandler处理器

 

 

如果使用数据库数据创建一个Document对象可以采用SqlDocumentHandler处理器:

 

抽象的SqlDocumentHandler用于根据数据库的数据集创建Document对象:

 public abstract class SqlDocumentHandler extends AbstractDocumentHandler {

 //用于检测sql语句的方法

 private void checkDescriptionParameters(Map description) {
  if( description.get(SqlRequest.SQL_REQUEST)==null ) {
   throw new DocumentHandlerException("The parameter "+SqlRequest.SQL_REQUEST+
     " is required for this type of document handler");
  }
 }
 //用于创建Document对象的方法
 protected Document doGetDocument(Map description, Object object) throws Exception {
  checkDescriptionParameters(description);

  SqlRequest request = new SqlRequest(description);
  return getDocument(request, (ResultSet)object);
 }

//结果的类是否为ResultSet类

 public boolean supports(Class clazz) {
  return (ResultSet.class).isAssignableFrom(clazz);
 }

 /**
  * 这是一个回调函数方法,用于将一个ResultSet对象创建为一个Document对象

   */
 public abstract Document getDocument(SqlRequest request, ResultSet rs) throws SQLException;
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics