使用maven管理项目
1.依赖包
junit junit 4.10 test org.hibernate hibernate-core 4.3.5.Final org.hibernate hibernate-c3p0 4.3.5.Final
2.配置hibernate.cfg.xml
com.mysql.jdbc.Driver jdbc:mysql://127.0.0.1:3306/cl?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true root org.hibernate.dialect.MySQLDialect org.hibernate.connection.C3P0ConnectionProvider 1 3 thread true update
3.hibernate 工厂类
public class HibernateUtil { private static final SessionFactory sessionFactory = buildSessionFactory(); private static SessionFactory buildSessionFactory() { try { Configuration cfg = new Configuration().configure(); StandardServiceRegistry *** =new StandardServiceRegistryBuilder().applySettings(cfg.getProperties()).build(); SessionFactory factory = cfg.buildSessionFactory(***); return factory; } catch (Throwable ex) { System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } public static SessionFactory getSessionFactory() { return sessionFactory; } public static void schemaCreate() { Configuration cf = new Configuration().configure(); SchemaExport se = new SchemaExport(cf); se.create(true, true); } public static void schemaUpdate() { Configuration cf = new Configuration().configure(); SchemaUpdate su = new SchemaUpdate(cf); su.execute(false, true); } public static void schemaValidate() { Configuration cf = new Configuration().configure(); SchemaValidator su = new SchemaValidator(cf); su.validate(); } public static void main(String[] args) { schemaCreate(); }}
4.实体类,此处省略set/get方法
@Entity@Table(name = "t_h_user")public class User { @Id @GeneratedValue private int id; private String name; private Date birthday;
5.测试
public class ch01 { private static SessionFactory sf; @BeforeClass public static void befoe() { sf = HibernateUtil.getSessionFactory(); } @Test public void test() { User u = new User(); u.setName("chenlongccc"); u.setBirthday(new Date()); Session session = sf.getCurrentSession(); session.beginTransaction(); session.save(u); session.getTransaction().commit(); //session.close(); }}