今天整天终于写完了hibernate的helloworld。其中遇到了各种问题,首先第一次写hibernate控制类时系统找不到sessionFactory的类,可能是jar包没有加对吧。再次是hibernate连接数据库的方言写错了。还有hibernate.cfg.xml的配置出现问题,这些配置我完全不懂,就把看不懂给删了,还好问题解决了。配置user.hbm.xml时对id元素的理解不够造成了对数据库一改再改,sql语句的不熟练也带来不少麻烦。(create table tablename (id int auto_increment,primary key(id),name varchar(20));)
最简单hibernate项目的步骤
1. 加入相应的jar包,可去hibernate的实例项目中拷贝。
2将hibernate.cfg.xml复制到src目录下
3.建立数据库
4根据数据库建立相应的类和属性,方法。
5建立相对应的xxx.hbm.xml,配置表和字段。
6.写hibernate的核心代码
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.User;
public class Client {
public static void main(String[] args){
SessionFactory sf= new Configuration().configure().buildSessionFactory();
Session s=null;
Transaction t=null;
try{
User user=new User();
user.setId(1);
user.setName("name1");
s=sf.openSession();
t=s.beginTransaction();
s.save(user);
t.commit();
}catch(Exception e){
t.rollback();
e.printStackTrace();
}finally{
s.close();
}
}
}
SessionFactory 是session工厂,是线程安全的(不存在线程同步问题)
SessionFactory sf=new Configuration().configure().buildsessionFactory();的意思是读取hibernate.cgf.xml文件,默认的名称,如不使用默认的名称写成SessionFactory sf=new Configuration().configure(“文件名”).buildsessionFactory();
Session是应用程序主要的hibernate接口,有相当与JDBC的Connection+Statement的功能,是线程不安全的
transaction是hibernate的事务是必须的
最简单hibernate项目的步骤
1. 加入相应的jar包,可去hibernate的实例项目中拷贝。
2将hibernate.cfg.xml复制到src目录下
3.建立数据库
4根据数据库建立相应的类和属性,方法。
5建立相对应的xxx.hbm.xml,配置表和字段。
6.写hibernate的核心代码
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.User;
public class Client {
public static void main(String[] args){
SessionFactory sf= new Configuration().configure().buildSessionFactory();
Session s=null;
Transaction t=null;
try{
User user=new User();
user.setId(1);
user.setName("name1");
s=sf.openSession();
t=s.beginTransaction();
s.save(user);
t.commit();
}catch(Exception e){
t.rollback();
e.printStackTrace();
}finally{
s.close();
}
}
}
SessionFactory 是session工厂,是线程安全的(不存在线程同步问题)
SessionFactory sf=new Configuration().configure().buildsessionFactory();的意思是读取hibernate.cgf.xml文件,默认的名称,如不使用默认的名称写成SessionFactory sf=new Configuration().configure(“文件名”).buildsessionFactory();
Session是应用程序主要的hibernate接口,有相当与JDBC的Connection+Statement的功能,是线程不安全的
transaction是hibernate的事务是必须的