一、导入jar包
1、导入所学要的jar包,在eclipse里面选中项目右击,点击菜单栏中的properties,找到Java Build Path里面的Libraries,点击右侧的Add External JARS…就可导入相应路径的jar包。具体步骤:eclipse->项目->properties->Java Build Path->Libraries->Add External JARS
2、出来导入hibernate相应的jar报,还需要导入sqljdbc的jar包。
二、代码
实现hibernate有两种方式:一种是注解配置方式,另一种是文件配置方式。下面介绍一下注解方式
1、创建建一个实体类,如:EmployeeBean.java
package zzzy;
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;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name="Employee") //数据库表名
public class EmployeeBean implements Serializable{
@Id //主键标识
@Column(name="EmployeeID",nullable=false,unique=true)
@GenericGenerator(name="generator",strategy="indetity") //定义主键生成器
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int employeeID;
private String name;
private String dept;
private int age;
private double salary;
public int getEmployeeID() {
return employeeID;
}
public void setEmployeeID(int employeeID) {
this.employeeID = employeeID;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public EmployeeBean() {
}
}
2、在src目录下创建名为 hibernate.cfg.xml 的配置文件,改文件的命名是国定的。
<?xml version="1.0" encoding="UTF-8"?>
<!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="connection.url">jdbc:sqlserver://localhost:1433;databaseName=UserInfo</property>
<!-- 数据库的登陆用户名 -->
<property name="connection.username">sa</property>
<!-- 数据库的登陆密码 -->
<property name="connection.password">123456</property>
<!-- 数据库驱动 -->
<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<!-- 方言:为每一种数据库提供适配器,方便转换 -->
<property name="dialect">org.hibernate.dialect.SQLServer2008Dialect</property>
<property name="show_sql">true</property>
<!-- 注解方式 -->
<mapping class="zzzy.EmployeeBean" />
</session-factory>
</hibernate-configuration>
3、在实体类同一目录下创建包含Main函数的启动类:EmployeeMain
package zzzy;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public class EmployeeMain {
public static void main(String[] args) {
try{
// 1. Configuration xml与注解方式是分开的
Configuration objConf = new Configuration().configure();
// 2. SessionFactory
SessionFactory objSessionFact = objConf.buildSessionFactory();
// 3. Session
Session objSession = objSessionFact.openSession();
// 4. 事务
Transaction objTran = objSession.beginTransaction();
// 5. 实体对象
EmployeeBean objUsers = new EmployeeBean();
//根据操作的方式(增加、修改、删除、提取数据)调用不同方法
//增加数据
objUsers.setName("王二");
objUsers.setAge(12);
objUsers.setDept("你好");
objUsers.setSalary(1503.12);
objSession.save(objUsers);
/* //输出显示
objSession.load(objUsers, "001");
System.out.println(objUsers.getEmployeeID());
System.out.println(objUsers.getName());
//删除数据
objUsers = (EmployeeBean)objSession.get(EmployeeBean.class, "001");
objSession.delete(objUsers);
//更新
objUsers = (EmployeeBean)objSession.get(EmployeeBean.class, "001");
objUsers.setName("张三");
objUsers.setAge(18);
objUsers.setDept("你好");
objUsers.setSalary(3333.2);
objSession.update(objUsers);*/
// 6. 提交
objTran.commit();
// 7. 关闭
objSession.close();
}
catch(RuntimeException ex){
System.out.print(ex.getMessage());
}
catch(Exception ex){
System.out.print(ex.getMessage());
}
}
}