一直在用mybatis.因为要写很多表的联合查询语句。
听很多人说起hibernate。说是封装的如何好之类。
于是想学习一下。
网上搜的例子在我这各种报错:log4j的,Configuring ehcache from ehcache-failsafe.xml 等。
最后费了老劲终于让程序走通-----还是hibernate jar包的问题。
于是决定把做的程序呈现出来,最重要的是把jar包提供给跟我一样被各种下载坑出翔的人。
1.建立java项目。
2.引入jar包----hibernate核心包和oracle驱动包。
关于oracle驱动包:我的jdk是1.6,我引用ojdbc5.jar或者ojdbc6.jar 都可以。(有人说如果jdk是1.5,那么不能用ojdbc6.jar,我没试过,不知道真假。) 如果你的机器安装了oracle,那么oracle驱动在这个目录下:D:\app\Administrator\product\11.2.0\dbhome_1\jdbc\lib。
hibernate包下载.点击打开链接. oracle驱动下载点击打开链接
3.本项目用的数据库是oracle. 用到的表是 user1
create table USER1
(
ID VARCHAR2(110),
USERNAME VARCHAR2(11),
PASSWORD VARCHAR2(11)
)
一。程序目录:
1.建立User类。
package d;
public class User {
private String id;
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
}
true
org.hibernate.dialect.Oracle9Dialect
oracle.jdbc.driver.OracleDriver
jdbc:oracle:thin:@localhost:1521:orcl
system
manager
4.在src目录下建立log4j.properties
如果缺少log4j.properties ,会引起警告
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.
log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
如果缺少ehcache.xml ,会引起警告
WARN [net.sf.ehcache.config.Configurator] - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/C:/Users/Administrator/Desktop/hibjar/ehcache-1.1.jar!/ehcache-failsafe.xml
package d;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class Client {
public static void main(String[] args) {
//读取配置文件
Configuration cfg = new Configuration().configure();
SessionFactory factory = cfg.buildSessionFactory();
Session session = null;
try{
session = factory.openSession();
//开启事务
session.beginTransaction();
User user = new User();
user.setUsername("用户名");
user.setPassword("123");
session.save(user);
//提交事务
session.getTransaction().commit();
}catch(Exception e){
e.printStackTrace();
//回滚事务
session.getTransaction().rollback();
}finally{
if(session != null){
if(session.isOpen()){
//关闭session
session.close();
}
}
}
}
}
运行Client 为java application 。
控制台出现Hibernate: insert into user1 (username, password, id) values (?, ?, ?)。表示插入了一条语句。