进行Hibernate3.0自测类和功能收集

来源:互联网 发布:手机怎么投诉淘宝店铺 编辑:程序博客网 时间:2024/05/17 06:03
#log4j.propertieslog4j.rootLogger=debug,info,warn,error,appender1,appender2log4j.addivity.org.apache=truelog4j.logger.debug=debuglog4j.appender.debug=org.apache.log4j.FileAppenderlog4j.appender.debug.File=log/crm_debug.loglog4j.appender.debug.Append=truelog4j.appender.debug.Threshold=debuglog4j.appender.debug.layout=org.apache.log4j.PatternLayout   #log4j.appender.debug.layout.ConversionPattern=[ %p ]  %-d{yyyy-MM-dd HH:mm:ss} [%F:%L]  %m%nlog4j.appender.info.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.logger.info=infolog4j.appender.info=org.apache.log4j.FileAppenderlog4j.appender.info.File=log/crm_info.loglog4j.appender.info.Append=truelog4j.appender.info.Threshold=infolog4j.appender.info.layout=org.apache.log4j.PatternLayout   #log4j.appender.info.layout.ConversionPattern=[ %p ]  %-d{yyyy-MM-dd HH:mm:ss} [%F:%L]  %m%nlog4j.appender.info.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.logger.warn=warnlog4j.appender.warn=org.apache.log4j.FileAppenderlog4j.appender.warn.File=log/crm_warn.log   log4j.appender.warn.Append=truelog4j.appender.warn.Threshold=warnlog4j.appender.warn.layout=org.apache.log4j.PatternLayout   #log4j.appender.warn.layout.ConversionPattern=[ %p ]  %-d{yyyy-MM-dd HH:mm:ss} [%F:%L]  %m%nlog4j.appender.info.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%nlog4j.logger.error=errorlog4j.appender.error=org.apache.log4j.FileAppenderlog4j.appender.error.File=log/crm_error.loglog4j.appender.error.Append=true log4j.appender.error.Threshold=errorlog4j.appender.error.layout=org.apache.log4j.PatternLayoutlog4j.appender.error.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%nlog4j.logger.appender1=appender1log4j.appender.appender1=org.apache.log4j.ConsoleAppenderlog4j.appender.appender1.layout=org.apache.log4j.PatternLayoutlog4j.appender.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%nlog4j.logger.appender2=appender2log4j.appender.appender2.Threshold=errorlog4j.appender.appender2=org.apache.log4j.jdbc.JDBCAppenderlog4j.appender.appender2.driver=com.mysql.jdbc.Driverlog4j.appender.appender2.URL=jdbc:mysql://localhost:3306/iwork?useUnicode=true&characterEncoding=UTF-8log4j.appender.appender2.user=rootlog4j.appender.appender2.password=yoplorelog4j.appender.appender2.sql=insert into logtable (cdate, message) VALUES ('%d{yyyy-MM-dd HH:mm:ss}', '%c %p %m %n')log4j.appender.appender2.layout=org.apache.log4j.PatternLayout/** * code name:DaoSessionBuilder.java * @author wacky * @since 2016-9-28 9:24 * @version 0.0.1 */package com.wacky.dao.impl;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;/** * 静态化SessionFactory,从hibernate.cfg.xml中读取配置信息 */public class DaoSessionBuilder {private static SessionFactory sessionFactory;static {// 步骤一:创建Configuration--准备读取hibernate.cfg.xml内容到内存Configuration configuration = new Configuration();// 步骤二:加载域对象--// 读取hibernate.cfg.xml内容到内存// 读取Xxx.hbm.xml内容到内存configuration.configure("/hibernate.cfg.xml");// 步骤三:创建SessionFactory实例sessionFactory = configuration.buildSessionFactory();}public static SessionFactory getSessionFactory() {return sessionFactory;}}/** * code name: DaoLogImpl.java * @author wacky * @since 2016-9-28 9:28 * @version 0.0.1 */package com.wacky.dao.impl;import java.util.List;import org.apache.log4j.Logger;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;import com.wacky.dao.DaoLog;import com.wacky.entity.Log;import com.wacky.model.PageModel;import com.wacky.model.QueryCount;/** * 实现日志的Dao层,具体是实现Hibernate3.0接口及日志入数据库及控制台打印功能。 */public class DaoLogImpl extends HibernateDaoSupport implements DaoLog {//此类的日志记录器private static Logger logger = Logger.getLogger(DaoLogImpl.class);//构造Dao的会话工厂private static SessionFactory sfdao = DaoSessionBuilder.getSessionFactory();public DaoLogImpl() {super();this.setSessionFactory(sfdao);}@Overridepublic void delete(Log log) {this.getHibernateTemplate().delete(log);}@Overridepublic Log findLog(int id) {// TODO Auto-generated method stubreturn (Log) this.getHibernateTemplate().get(Log.class, id);}@Overridepublic void save(Log log) {// TODO Auto-generated method stubthis.getHibernateTemplate().save(log);}@Overridepublic void update(Log log) {Session session = this.getHibernateTemplate().getSessionFactory().openSession();//SessionFactory sf = DaoSessionBuilder.getSessionFactory();//Session session = sf.openSession();    session.beginTransaction().begin();    session.update(log);    session.beginTransaction().commit();    session.close();/*this.getHibernateTemplate().update(user);Session session = this.getHibernateTemplate().getSessionFactory().openSession();session.beginTransaction().commit();session.close();*/}@Overridepublic List<Log> findAllLog(String hql) {// TODO Auto-generated method stubreturn this.getHibernateTemplate().find(hql);}@Overridepublic Log checkLog(String hql) {// TODO Auto-generated method stubreturn null;}@Overridepublic PageModel<Log> findByPageScroll(String hql, int firstPage, int maxPage) {PageModel<Log> pm = new PageModel<Log>();    Session session = this.getHibernateTemplate().getSessionFactory().openSession();//SessionFactory sf = DaoSessionBuilder.getSessionFactory();//Session session = sf.openSession();Query query = session.createQuery(hql);query.setFirstResult(firstPage);//设置起始行query.setMaxResults(maxPage);//每页条数List<Log> listLog = (List<Log>)query.list();//得到每页的数据pm.setRecordsDate(listLog);pm.setTotal(((Long)QueryCount.getQueryCount(hql, session)).intValue());pm.setCurrentPage(firstPage);pm.setManPage(maxPage);session.close();return pm;}public static void main(String[] args) {String user = "\'iWork" + "\\\\" + "管理员\'";String hql = " from Log where subject = " + user + " order by created desc";DaoLog daoLog = new DaoLogImpl();PageModel<Log> pm = daoLog.findByPageScroll(hql, 5, 20);//List<Log> listAllLogs = daoLog.findAllLog(hql);List<Log> listLog = pm.getRecordsDate();int iid = 0;for(Log log : listLog) {log.setId(iid++);String str = log.getId() + "\t" + log.getUnid() + "\t" + log.getSubject() + "\t" + log.getOwner();logger.info(str);logger.warn(str);logger.debug(str);}logger.error("ok, no error!");}}

0 0
原创粉丝点击