hibernate第一个例子
步骤
1 新建web project或者 java project项目
2 添加架包
3 编写hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="show_sql">true</property> <property name="hbm2ddl.auto">create</property> <property name="format_sql">true</property> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="connection.url"> jdbc:mysql://localhost:3306/test </property> <property name="connection.username">root</property> <property name="connection.password">***</property> <mapping resource="com/***/model/Student.hbm.xml" /> <!-- oracle 的配置 <property name="show_sql">true</property> <property name="hbm2ddl.auto">create</property> <property name="format_sql">true</property> <property name="dialect"> org.hibernate.dialect.OracleDialect </property> <property name="connection.driver_class"> oracle.jdbc.driver.OracleDriver </property> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property> <property name="connection.url"> jdbc:oracle:thin:@localhost:1521:XE </property> <property name="connection.username">root</property> <property name="connection.password">**</property> <mapping resource="com/***/model/Student.hbm.xml" /> --> </session-factory> </hibernate-configuration>
4 编写实体类
单实体
Student.java
package com.***.model; public class Student { private int id; private String name; private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
5 编写相对应的**.hbm.xml
这里是:Student.hbm.xml
<?xml version="1.0" encoding="gbk"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.***.model"><!--映射类所在的包--> <class name="Student" table="student_hibernate"> <!-- mysql --> <id name="id" column="studentId"> <generator class="identity"/> </id> <!-- oracle <id name="id" column="ID"> <generator class="sequence"> <param name="sequence">DEPARTMENT_ID_SEQ</param> </generator> </id> --> <property name="name" column="name" /> <property name="password" /> </class> </hibernate-mapping>
6 添加log4j.properties
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml! # For all other servers: Comment out the Log4J listener in web.xml to activate Log4J. log4j.rootLogger=INFO, stdout, logfile 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 log4j.appender.logfile=org.apache.log4j.RollingFileAppender log4j.appender.logfile.File=petstore.log log4j.appender.logfile.MaxFileSize=512KB # Keep three backup files. log4j.appender.logfile.MaxBackupIndex=3 # Pattern to output: date priority [category] - message log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
7 打开数据库
8 添加Test类
Configuration cfg=new Configuration().configure(); SessionFactory sf=cfg.buildSessionFactory(); Session session= sf.openSession(); Transaction tx=session.beginTransaction(); Student s=new Student(); s.setName("测试1"); s.setPassword("22"); session.save(s); session.flush(); tx.commit(); session.close();
9 测试成功