当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪commons-logging 结合log4j 日志无法正常使用      最近遇到了一个问题,使用commons-logging 结合log4j 日志无法正常输入到控制台及文件,结果想和大家分享一下 因为引用Jar包都是通过以前项目拷贝过来的,所以也没有排除那些不用的jar包。 因.........
    ▪Hibernate4读取Clob数据      package cn.framework.dao.impl; import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.Serializable; import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.math.BigDecimal; impor.........
    ▪MVC action返回partialView前台html 拼接      //后台 [HttpPost]         public ActionResult GetNextLazyLoadProduct(int[] productIdList)         {             var products = _productService.GetProductsByIds(productIdList); &.........

[1]commons-logging 结合log4j 日志无法正常使用
    来源: 互联网  发布时间: 2013-11-19

最近遇到了一个问题,使用commons-logging 结合log4j 日志无法正常输入到控制台及文件,结果想和大家分享一下

因为引用Jar包都是通过以前项目拷贝过来的,所以也没有排除那些不用的jar包。

因为现在公司产品都使用slf4j打印日志,这个是没有问题的,但是如果使用commons-logging,当存在以下jar包时候就会有问题

Jcl-over-slf4j.jar

这个jar默认会找slf4的logfactory进行创建日志,因此commons-logging就无效了。

 

去掉这个jar是不是就可以了呢?虽然现在可以使用commons-logging输出日志了,但是没有按照Log4j.properties的配置输出日志,并且日志名称为jxl.log,这个日志明显是操作excel的jxl生成的日志,所以找到jxl.jar


发现jxl的log4jLogger.class 覆盖了log4j的配置,适用了jxl的配置,因此无法按照我们自己的log4j.properties进行日志输出,除非在程序手动加载log4j.properties,否则那种默认直接加载classpath下的log4j.properties是无法适用的。

作者:okman1214 发表于2013-6-17 11:08:59 原文链接
阅读:46 评论:0 查看评论

    
[2]Hibernate4读取Clob数据
    来源: 互联网  发布时间: 2013-11-19

package cn.framework.dao.impl;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.lang.reflect.ParameterizedType;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Clob;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

import oracle.sql.CLOB;

import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Disjunction;
import org.hibernate.criterion.Example;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projection;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.internal.CriteriaImpl;
import org.hibernate.persister.entity.AbstractEntityPersister;
import org.hibernate.persister.entity.SingleTableEntityPersister;
import org.hibernate.transform.ResultTransformer;
import org.hibernate.transform.Transformers;
import org.hibernate.type.StringType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate4.SessionFactoryUtils;
import org.springframework.stereotype.Repository;
import org.springframework.util.Assert;

import cn.framework.dao.BaseHibernateDao;
import cn.framework.dao.model.OrderBy;
import cn.framework.dao.util.DaoUtil;
import cn.framework.util.Page;
import cn.framework.util.PropertyFilter;
import cn.framework.util.ReflectUtil;
import cn.framework.util.ReflectionUtils;
import cn.framework.util.SimpleUtils;
import cn.framework.util.StringUtil;
import cn.framework.util.PropertyFilter.MatchType;

@Repository
@SuppressWarnings("unchecked")
public abstract class BaseHibernateDaoImpl<T>  implements BaseHibernateDao{
 
 private LinkedList<OrderBy> orderList = new LinkedList<OrderBy>();
 
 private final Logger logger=Logger.getLogger(getClass());

 protected SessionFactory sessionFactory;

 protected Class<T> entityClass;
 
 String orderPropertyName = "";

 public void setSessionFactory(SessionFactory sessionFactory) {
  this.sessionFactory = sessionFactory;
 }

 protected Session getSession() {
  return sessionFactory.getCurrentSession();
 }
 
 /**
  * 用于Dao层子类使用的构造函数.
  * 通过子类的泛型定义取得对象类型Class.
  * eg.
  * public class UserDao extends SimpleHibernateDao<User, Long>
  */
 public BaseHibernateDaoImpl() {
  this.entityClass = ReflectionUtils.getSuperClassGenricType(getClass());
 }

 /**
  * 用于用于省略Dao层, 在Service层直接使用通用SimpleHibernateDao的构造函数.
  * 在构造函数中定义对象类型Class.
  * eg.
  * SimpleHibernateDao<User, Long> userDao = new SimpleHibernateDao<User, Long>(sessionFactory, User.class);
  */
 public BaseHibernateDaoImpl(final SessionFactory sessionFactory, final Class<T> entityClass) {
  this.sessionFactory = sessionFactory;
  this.entityClass = entityClass;
 }

 private boolean desc = false;

 @Autowired
 DaoUtil daoUtil;

 public boolean delete(Object domain) {
  try {
   getSession().delete(domain);
   getSession().flush();
   return true;
  } catch (Exception e) {
   logger.error(e);
   return false;
  }
 }
 
 /**
  * 根据Criterion条件创建Criteria.
  *
  * 本类封装的find()函数全部默认返回对象类型为T,当不为T时使用本函数.
  *
  * @param criterions 数量可变的Criterion.
  */
 public Criteria createCriteria(final Criterion... criterions) {
  Criteria criteria = getSession().createCriteria(entityClass);
  for (Criterion c : criterions) {
   criteria.add(c);
  }
  return criteria;
 }

 public boolean deleteByKey(Serializable id) {
  try {
   getSession().delete(findById(id));
   getSession().flush();
   return true;
  } catch (Exception e) {
   logger.error(e);
   return false;
  }
 }
 
 public boolean deleteListByKey(String tableName,String keyColumn,String keyValues){
  try {
   StringBuffer sql=new StringBuffer("delete from ");
   if(StringUtils.isBlank(tableName)){
    return false;
   }
   
   if(StringUtils.isBlank(keyColumn) && StringUtils.isBlank(keyValues)){
    
   }
   sql.append(tableName).append(" where 1=1").append(" and ").append(keyColumn).append(" in (").append(keyValues).append(")");
   System.out.println("deleteListByKey:"+sql.toString());
   return executeSql(sql.toString());
  } catch (Exception e) {
   logger.error(e);
   return false;
  }
 }
 
 public boolean deleteListByKey(Class obj,String keyValues){
  String keyColumn=getPrimaryKeyColumn(obj);
  String tableName=getTableName();
  return deleteListByKey(tableName,keyColumn,keyValues);
 }
 

 public boolean deleteListByObj(List domainList) {
  try {
   deleteAll(domainList);
   return true;
  } catch (Exception e) {
   logger.error(e);
   return false;
  }
 }

 public T save(Object domain)throws Exception {
   getSession().save(domain);
   getSession().flush();
   return (T) domain;
 }

 public T saveOrUpdate(Object domain)throws Exception {
   getSession().saveOrUpdate(domain);
   getSession().flush();
   return (T) domain;
 }

 public T update(Object domain)throws Exception {
   getSession().update(domain);
   getSession().flush();
   return (T) domain;
 }

 public T merge(Object domain) throws Exception{
   getSession().merge(domain);
   getSession().flush();
   return (T) domain;
 }

 public List<T> findListByObj(Object value) {
  return findListByObj(value);
 }

 public List<T> findListByObjR(Object object) {
  return findListByObjR(object, null, null);
 }

 public List<T> findListByObjR(Object object, Integer firstResult,
   Integer size) {
  final Object f_object = object;
  final Integer f_firstResult = firstResult;
  final Integer f_size = size;

  Criteria criteria = getSession().createCriteria(f_object.getClass());
  Example exampleAtt = Example.create(f_object);
  criteria.add(exampleAtt);
  Map<String, Class> map = ReflectUtil
    .getUserClassTypePropertyMap(f_object.getClass());
  if (map != null && !map.isEmpty()) {
   for (String key : map.keySet()) {
    String getterMethodName = daoUtil.propertyToGetterMethod(key);
    Object beanValue = ReflectUtil.invokeMethod(f_object,
      getterMethodName);
    if (beanValue != null) {
     Class cla = map.get(key);
     if (cla != null) {
      String keyProperty = getPrimaryKeyParam(cla);
      if (StringUtils.isNotBlank(keyProperty)) {
       // criteria.createCriteria(key);
       String _getterMethodName = daoUtil

    
[3]MVC action返回partialView前台html 拼接
    来源: 互联网  发布时间: 2013-11-19

//后台


[HttpPost]

        public ActionResult GetNextLazyLoadProduct(int[] productIdList)
        {
            var products = _productService.GetProductsByIds(productIdList);
            var preparedModel = PrepareProductOverviewModels(products);
            return PartialView("_LazyLoadProducts", preparedModel); 

        }


//前台


var url = "@Url.Action("GetNextLazyLoadProduct")";
                    $.ajax({
                        url: url,
                        type: "POST",
                        datatype: "json",
                        contentType: "application/json",
                        data: JSON.stringify({ productIdList: array }),
                        error: function () {
                        },
                        success: function (data) {  
                            $("#lazyScrollLoading").append(data);
                            $("#lazyLoadNum").attr("value", nextLazyLoadNum);
                        }                  
                    });       

作者:lglgsy456 发表于2013-6-17 16:11:25 原文链接
阅读:0 评论:0 查看评论

    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎 iis7站长之家
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪机器学习理论与实战(二)决策树    ▪Hibernate(四)——全面解析一对多关联映射    ▪我所理解的设计模式(C++实现)——解释器模...
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3