hibernate 一些包的作用

转载    自  https://blog.csdn.net/yan456jie/article/details/46392765

https://blog.csdn.net/qq_23307667/article/details/49799467

https://blog.csdn.net/u013628152/article/details/43538299

 

hibernate3.jar  hibernate核心包

commons-collections-2.1.1.jar  集合包,封装常用集合操作

javassist-3.9.0.GA.jar  动态编译及创建字节码包

dom4j-1.6.1.jar  解析xml文件包

jta.jar  事务处理包

slf4j-api-1.6.1.jar  日志包

 

hibernate的连接数据库操作配置在xml中,这就需要解析xml的jar包dom4j,

解析完成以后要动态生成连接数据库的代码,需要javassist,

slf4j是日志包,可以设置日志级别,并将其输出到文件,对于数据库来说很重要,

commons-collections是apache下的一个常用集合包,封装了,集合类和工具,

jta是事务包,数据库执行是以事务为单位的,提交了事务才算写入了数据库

 

 

 

hibernate其他常用包

antlr-2.7.6.jar  识别并解析hql语言

 

 

 

 

关于 slf4   与 log4j

一:首先来看一个图

 

 

commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现!后面的log4j,slf4j-nop等才是他们的实现。

 

二:Hibernate框架的slf4j-api-1.5.8.jar

Hibernate默认用的是slf4j-nop.jar日志实现方式。

但是我们可以替换成log4j的实现。但不是简单的加上log4j-1.2.17.jar就行了。中间还需要一个转换器slf4j-log4j12-1.5.8.jar

 

然后在src目录下加上log4j.properties

 

 

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
### set log levels - for more verbose logging change 'info' to 'debug' ###
 
log4j.rootLogger=warn, stdout
 
#log4j.logger.org.hibernate=info
#log4j.logger.org.hibernate=debug
 
### log HQL query parser activity
#log4j.logger.org.hibernate.hql.ast.AST=debug
 
### log just the SQL
#log4j.logger.org.hibernate.SQL=debug
 
### log JDBC bind parameters ###
#log4j.logger.org.hibernate.type=info
#log4j.logger.org.hibernate.type=debug
 
### log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug
 
### log HQL parse trees
#log4j.logger.org.hibernate.hql=debug
 
### log cache activity ###
#log4j.logger.org.hibernate.cache=debug
 
### log transaction activity
#log4j.logger.org.hibernate.transaction=debug
 
### log JDBC resource acquisition
#log4j.logger.org.hibernate.jdbc=debug
 
### enable the following line if you want to track down connection ###
### leakages when using DriverManagerConnectionProvider ###
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace

  

 

 

日志输出:

22:12:18,627  INFO SchemaUpdate:155 - Running hbm2ddl schema update
22:12:18,629  INFO SchemaUpdate:167 - fetching database metadata
22:12:18,630  INFO SchemaUpdate:179 - updating schema
22:12:18,647  INFO TableMetadata:65 - table found: hibernate.teacher
22:12:18,647  INFO TableMetadata:66 - columns: [id, title, name]
22:12:18,647  INFO TableMetadata:68 - foreign keys: []
22:12:18,647  INFO TableMetadata:69 - indexes: [primary]
22:12:18,648  INFO SchemaUpdate:217 - schema update complete
Hibernate: insert into Teacher (name, title, id) values (?, ?, ?)

posted on 2018-08-05 09:23  wait_for_you  阅读(248)  评论(0编辑  收藏  举报

导航