进行Hibernate3.0自测类和功能收集
2016-09-28 09:35
232 查看
#log4j.properties log4j.rootLogger=debug,info,warn,error,appender1,appender2 log4j.addivity.org.apache=true log4j.logger.debug=debug log4j.appender.debug=org.apache.log4j.FileAppender log4j.appender.debug.File=log/crm_debug.log log4j.appender.debug.Append=true log4j.appender.debug.Threshold=debug log4j.appender.debug.layout=org.apache.log4j.PatternLayout #log4j.appender.debug.layout.ConversionPattern=[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [%F:%L] %m%n log4j.appender.info.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.logger.info=info log4j.appender.info=org.apache.log4j.FileAppender log4j.appender.info.File=log/crm_info.log log4j.appender.info.Append=true log4j.appender.info.Threshold=info log4j.appender.info.layout=org.apache.log4j.PatternLayout #log4j.appender.info.layout.ConversionPattern=[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [%F:%L] %m%n log4j.appender.info.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.logger.warn=warn log4j.appender.warn=org.apache.log4j.FileAppender log4j.appender.warn.File=log/crm_warn.log log4j.appender.warn.Append=true log4j.appender.warn.Threshold=warn log4j.appender.warn.layout=org.apache.log4j.PatternLayout #log4j.appender.warn.layout.ConversionPattern=[ %p ] %-d{yyyy-MM-dd HH:mm:ss} [%F:%L] %m%n log4j.appender.info.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n log4j.logger.error=error log4j.appender.error=org.apache.log4j.FileAppender log4j.appender.error.File=log/crm_error.log log4j.appender.error.Append=true log4j.appender.error.Threshold=error log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L : %m%n log4j.logger.appender1=appender1 log4j.appender.appender1=org.apache.log4j.ConsoleAppender log4j.appender.appender1.layout=org.apache.log4j.PatternLayout log4j.appender.appender1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss:SSS}[%p]: %m%n log4j.logger.appender2=appender2 log4j.appender.appender2.Threshold=error log4j.appender.appender2=org.apache.log4j.jdbc.JDBCAppender log4j.appender.appender2.driver=com.mysql.jdbc.Driver log4j.appender.appender2.URL=jdbc:mysql://localhost:3306/iwork?useUnicode=true&characterEncoding=UTF-8 log4j.appender.appender2.user=root log4j.appender.appender2.password=yoplore log4j.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); } @Override public void delete(Log log) { this.getHibernateTemplate().delete(log); } @Override public Log findLog(int id) { // TODO Auto-generated method stub return (Log) this.getHibernateTemplate().get(Log.class, id); } @Override public void save(Log log) { // TODO Auto-generated method stub this.getHibernateTemplate().save(log); } @Override public 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();*/ } @Override public List<Log> findAllLog(String hql) { // TODO Auto-generated method stub return this.getHibernateTemplate().find(hql); } @Override public Log checkLog(String hql) { // TODO Auto-generated method stub return null; } @Override public 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!"); } }
相关文章推荐
- 如何结合hibernate进行复杂的查询功能设计
- Thinkphp 3.0 空模块 与空操功能一样,只不过是无法访问的模块而进行的操作
- [Hibernate]在用hibernate3.0进行查询时,java.lang.NoClassDefFoundError: antlr/ANTLRException【问题记录】
- 使用注解和spring的JdbcTemplate进行封装实现类似Hibernate的功能
- 如何结合hibernate进行复杂的查询功能设计
- 对hibernate3.0的delete对象功能的看法。
- Eclipse 3.0资料收集
- 怎样给应用程序添加打印功能,并且能按照自定义格式进行打印!
- Eclipse3.0+Myeclipse3.8.1GA+MYSQL开发hibernate
- EJB(2.X-3.0)、Hibernate、Spring:剖析、批判和展望
- Eclipse 3.0资料收集
- 利用C++Builder 6 中OLE自动化功能实现调用Word进行报表制作
- 如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能,就象浏览网页一样?
- Eclipse 3.0资料收集
- Hibernate 3.0 beta版本已经发布
- EJB(2.X-3.0)、Hibernate、Spring:剖析、批判和展望
- Eclipse 3.0资料收集
- 号外!DNN直接跳跃到3.0!功能大改进!
- Eclipse 3.0资料收集
- 收集实用功能和经典的javaScript代码