Hibernate简介:
官网:http://hibernate.org/
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java
程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate 可以应用在任何使用 JDBC 的场合,
既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate
可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。
ORM 框架,对象关系映射(Object/Relation Mapping)
Hibernate框架搭建:
新建一个Java Project:
1.导入hibernate4的核心jar包以及Mysql驱动包(获取方式自行百度):
2.在项目 src路径下书写hibernate的核心配置文件: hibernate.cfg.xml
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <!-- Hibernate 核心配置文件 --> <hibernate-configuration> <session-factory> <!-- 配置关于数据库连接的四个项:driverClass url username password --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property> <property name="connection.username">root</property> <property name="connection.password">root</property> <!-- 方言 --> <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> <!-- 控制台显示SQL --> <property name="show_sql">true</property> <!-- 自动更新表结构 --> <property name="hbm2ddl.auto">update</property> <!-- 引入的映射文件 --> <mapping resource="com\tao\entity\Student.hbm.xml"/> </session-factory> </hibernate-configuration>
3.编写实体类:Student.java
public class Student { private long id; private String name; public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
4.书写Student类的映射文件:Student.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="com.tao.entity"> <class name="Student" table="t_student"> <!-- class下必须要有一个id的子元素 --> <!-- id是用于描述主键的 --> <id name="id" column="stuId"> <!-- 主键生成策略 --> <generator class="native"></generator> </id> <!--使用property来描述属性与字段的对应关系 如果length忽略不写,且你的表是自动创建这种方案,那么length的默认长度是255 --> <property name="name" column="name" length="50"></property> </class> </hibernate-mapping>
最后书写测试启动类:HibernateTest.java
public class HibernateTest { public static void main(String[] args) { //实例化hibernate的核心配置文件 Configuration configuration = new Configuration().configure(); //实例化服务登记 ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); // 获取Session工厂 SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); //生成一个session Session session = sessionFactory.openSession(); //开启事务 session.beginTransaction(); Student stu = new Student(); stu.setName("张三"); session.save(stu); //提交事务 session.getTransaction().commit(); //关闭session session.close(); //关闭session工厂 sessionFactory.close(); } }
如果没有报错,且数据库正常建表 插入数据 说明框架搭建成功。