spring的整个配置内容,对于项目整合最好是分开
org.hibernate.dialect.MySQLDialect
true
com.lovo.bean
spring + hibernate 整合的配置文件
web.xml中
contextConfigLocation
classpath:app_base.xml
org.springframework.web.context.ContextLoaderListener
mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:app_mvc.xml
1
mvc
*.do
位于SRC下的app_base.xml文件
org.hibernate.dialect.MySQLDialect
true
com.lovo.bean
app_mvc.xml文件:
log4j.properties 配置
# rootLogger 表示所有日志都遵守该设置
log4j.rootLogger= warn,toConsole
#设置appender日志输出地点
log4j.appender.toConsole=org.apache.log4j.ConsoleAppender
#设置日志输出格式为正则表达式
log4j.appender.toConsole.layout=org.apache.log4j.PatternLayout
#设置正则表达式内容
log4j.appender.toConsole.layout.ConversionPattern=%d %p %c[%M] %m %n
#表示com.lovo.service里所有的类都满足toFile规则,注意,不包括子包
log4j.logger.com.lovo.service=warn,toFile
#表示每天产生新的日志文件
log4j.appender.toFile=org.apache.log4j.DailyRollingFileAppender
#设置日期输出格式
log4j.appender.toFile.DatePattern='.'yyyy-MM-dd
log4j.appender.toFile.layout=org.apache.log4j.PatternLayout
log4j.appender.toFile.layout.ConversionPattern=%d %p %c[%M] %m %n
log4j.appender.toFile.File=log/error.log
#将日志写入数据库
log4j.logger.com.lovo.dao=error,toDB
#定义日志输出地点为数据库
log4j.appender.toDB=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.toDB.layout=org.apache.log4j.PatternLayout
#以下可以不写
#log4j.appender.toDB.layout.ConversionPattern=%d%p %c[%M] %m %n
#驱动
log4j.appender.toDB.driver=com.mysql.jdbc.Driver
#URL
log4j.appender.toDB.URL=jdbc:mysql://localhost:3306/classtrain2?characterEncoding=utf-8
#用户名
log4j.appender.toDB.user=root
#密码
log4j.appender.toDB.password=111111
#sql语句
log4j.appender.toDB.sql=insert into t_log(content)values('%d %p %c[%M] %m')
最后,在新版的hibernate中,对于主键注册,如果是mysql的数据库,类型选择IDENTITY而不是AUTO
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
由于新版将Query类设为过时,在书写HQL的时候,我采用的是用
TypedQuery类,方法并没有太大变化,对于之前可以放入map集合的Query类,采用遍历的方式用setParameter();方法放入参数。