hibernate_0100_HelloWorld

1 建立新java 项目,名为hibernate_0100_HelloWorld;

2 学习建User-library-hibernate,并加入相应的jar包;
a) 项目右键-buildpath-configure build path-add library—
b) 选择User-library,在其中新建 libraray,命名为 hibernate
c) 在该library中加入hibernate所需jar包
i. hibernate core
ii. /required
iii.slf-nop jar


3 引入mysql的JDBC驱动包D:\forJavaDevelop\MySQL\mysql-connector-java-5.1.18-bin.jar

4 在mysql中建立对应的数据库以及表
a) create database hibernate;
b) use hibernate;
c) create table Student (id int primary key, name varchar(20), age int);



5 建立hibernate 配置文件hibernate.cfg.xml
a) 从参考文档中copy
b) 修改对应的数据库连接
c) 注释掉暂时用不上的内容


6 建立Student 类


7 建立Student 映射文件 Student.hbm.xml
a) 参考文档

8 将映射文件加入到hibernate.cfg.xml中
a) 参考文档

9 写测试类Main,在Main中对Student对象进行直接的存储测试
a) 参考文挡

10 FAQ:
a) 要调用 new Configuration().configure().buildSessionFactory(),而不是
要省略 configure,否则会出 hibernate dialect must be set 的异常

11 Note:
a) 请务必建立自己动手査文挡的能力
b) 重要的是:
i. 要建立自己动手查一手文档的信心
ii. 还有建立自己动手查一手文档的习惯!
iii.主动学习,砍弃被动接受灌输的习惯!


12 建立能力
a) 错误读完整
b) 读—昔误的关键行
c) 排除法
d) 比较法
e) google
 =========================================测试===================================
编写测试代码:/hibernate_0100_HelloWorld/src/org/fp/hibernate/test/StudentTest.java

测试结果:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:242)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:255)
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:152)
at org.fp.hibernate.test.StudentTest.main(StudentTest.java:15)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 8 more

解决以上错误方法: ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder:

解决办法一:引入两个包:;加入slf4j-log4j.jar,加入 log4j 的 jar 包,


TOMCAT后台输出:说明成功向数据库hibernate中student表中插入一条数据:
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
Hibernate: insert into student (name, age, id) values (?, ?, ?)

网上提供的 解决 方法二:
在用官方推荐的hibernate 3.3.2 这个版本的时候,当运行的时候就会出现下面这个异常,
缺少org.slf4j.impl.StaticLoggerBinder这个类,经过反复的搜素,找到了这个解决的问题,
那就是官方所提供的jar包里不包含这个jar包,需要在 下载一个slf4j-nop-1.5.2.jar 这个jar包!
这样的话这个项目就可以运行起来了。

你可能感兴趣的:(helloworld)