Hibernate是一种ORM框架,与各种数据库、SQL、语句打交道,是一个数据持久的一种解决方案。
在开始我们的学习之前,我们先要准备我们的Hibernate必备jar。大家可以到官网上去下载:http://hibernate.org/orm/
我们先来看第一个habernate的例子。
开发环境: myeclipse + mysql5.5 。
1.准备数据库
我们首先创建一个 员工的数据库emp,数据库中包含一张表t_emp 包括字段有 id 、员工姓名、工资、年龄 4个字段。
创建员工数据库emp
创建员工表t_emp
2.新建一个Emp的JavaBean类,所谓JavaBean指的是只有属性和相应的get和set方法。我们的简单对象属性字段和我们t_emp表中字段相对应。
1 public class Emp { 2 3 private int id; // ID 4 private String name; // 姓名 5 private BigDecimal salary; // 薪资 因为是金钱,所以用BigDecimal类型的,更加精确。 6 private int age; // 年龄 7 8 public Emp() { 9 10 } 11 12 public int getId() { 13 return id; 14 } 15 16 public void setId(int id) { 17 this.id = id; 18 } 19 20 public String getName() { 21 return name; 22 } 23 24 public void setName(String name) { 25 this.name = name; 26 } 27 28 29 public void setname(String ename) { 30 this.name = ename; 31 } 32 33 public BigDecimal getSalary() { 34 return salary; 35 } 36 37 public void setSalary(BigDecimal salary) { 38 this.salary = salary; 39 } 40 41 public int getAge() { 42 return age; 43 } 44 45 public void setAge(int age) { 46 this.age = age; 47 } 48 49 @Override 50 public String toString() { 51 return "Emp [age=" + age + ", id=" + id + ", name=" + name 52 + ", salary=" + salary + "]"; 53 } 54 }
2.hibernate配置
在src目录新建一个xml文件,命名为hibernate.cfg.xml
1 <!DOCTYPE hibernate-configuration PUBLIC 2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 4 5 <hibernate-configuration> 6 <session-factory> 7 8 <!--配置链接的URL--> 9 <property name="hibernate.connection.url"> 10 jdbc:mysql://localhost:3306/emp 11 </property> 12 <!-- 13 配置链接驱动 14 --> 15 <property name="hibernate.connection.driver.class"> 16 com.mysql.jdbc.Driver 17 </property> 18 <!-- 19 编码方式 20 --> 21 <property name="connection.useUnicode">true</property> 22 <property name="connection.characterEncoding">UTF-8</property> 23 <!-- 24 数据库用户名和密码 25 --> 26 <property name="hibernate.connection.username">root</property> 27 <property name="hibernate.connection.password">root</property> 28 <!-- 29 hiberate解析方言,不同数据库会不一样,我们这里用MySql的 30 --> 31 <property name="hibernay.dialect"> 32 org.hibernate.dialect.MySQLDialect.class 33 </property> 34 <!-- 35 在控制台中显示sql语句,这个是用于调试用的,项目上线一定不要加这个哦 36 --> 37 <property name="hibernate.show_sql">true</property> 38 <property name="hibernate.format_sql">true</property> 39 <!-- 40 引入Emp员工这个实体类的配置文件 41 --> 42 <mapping resource="entity/Emp.hbm.xml"></mapping> 43 </session-factory> 44 </hibernate-configuration>
现在我们来配置我们的Emp实体类和t_emp的映射关系,新建一个xml文件,命名为Emp.hbm.xml
1 <!DOCTYPE hibernate-mapping PUBLIC 2 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 4 <hibernate-mapping> 5 <class name="org.tarena.entity.Emp" table="t_emp"> 6 <id name="id" column="id"> 7 <!--数据库的主键生成策略 native配置为使用数据库自带的生成策略-- 关于参数详解参考:http://www.cnblogs.com/yfyzy/p/4675041.html> 8 <generator class="native"></generator> 9 </id> 10 <property name="name" column="name" > 11 </property> 12 <property name="salary" column="salary"> 13 </property> 14 <property name="age" column="age"> 15 </property> 16 </class> 17 </hibernate-mapping>
下面是我项目下的结构图
今天就先讲到这里,明天继续O(∩_∩)O~
原文:http://www.cnblogs.com/yfyzy/p/4674956.html