1.环境搭建
通过搭建hibernate+spring 环境进行测试 同时下载hibernate注解 所需的架包 :ejb3-persistence-1.0.2.GA.jar ,hibernate-commons-annotations-3.1.0.GA.jar
2.编码测试
2.1 映射实体
package com.dhc.domain;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="person", schema="test")
public class Person implements Serializable{
private static final long serialVersionUID = 6722039031958379583L;
private int id;
private String name;
private int age;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Column(name="name", unique=true, nullable=false)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="age", unique=false, nullable=false)
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2.2 编写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>
<mapping class="com.dhc.domain.Person"/>
</session-factory>
</hibernate-configuration>
2.2 编写 applicationContext.xml文件
<bean id="myDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="162838" />
<property name="initialSize" value="20" />
<property name="maxActive" value="50" />
<property name="maxIdle" value="20" />
<property name="minIdle" value="10" />
</bean>
<bean id="mySessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="myDataSource" />
<property name="configLocations">
<list>
<value>classpath:hibernate.cfg.xml</value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.show_sql=true
hibernate.hbm2ddl.auto=update
</value>
</property>
</bean>
2.3 测试
public class Test {
public static void main(String[] args) {
Person person = new Person();
person.setAge(22);
person.setName("test");
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
SessionFactory sf = (SessionFactory) app.getBean("mySessionFactory");
Session session = sf.openSession();
Transaction tr = session.beginTransaction();
session.save(person);
tr.commit();
session.close();
}
}
插入成功!