HIbernate是一个主流的持久化框架
在JDBC基础上进行轻量级的封装
只需要少量代码就可以完成持久化工作,
是一个优秀的ORM(对象-关系映射)机制
通过映射文件保存映射信息
使 Java 程序员可以随心所欲的使用面向对象编程思维来操纵数据库
以下是我在第一次配置Hibernate环境及安装所经历的步骤和遇到的问题:
导入如下所示的Hibernate所需要的如下压缩包
首先创建users类
- class demo
- public class users {
- private int name;
- private String id;
- private String age;
- private int password;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
配置类与数据库之间的映射关系
- <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "hibernate-mapping-3.0.dtd" >
- <hibernate-mapping>
- <class name="User" table="do">
- <id name="id" column="ID" type="int">
- <generator class="increment"/>
- </id>
- <property name="name" column="name" type="java.lang.String" />
- <property name="password" column="password" type="java.lang.String" />
- <property name="age" column="age" type="int"/>
- </class>
- </hibernate-mapping>
创建映射配置文件
- <!DOCTYPE hibernate-configuration PUBLIC
- <hibernate-configuration>
- <session-factory>
- <property name="hibernate.connection">com.mysql.jdbc.Driver</property>
- <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/zxw</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password"></property>
- <property name="hibernate.MYSQL">org.hibernate.dialect.MySQLDialect</property>
- <property name="show_sql">true</property>
- <mapping resource="com/User.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
测试类
- package test;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.Configuration;
- import demo.users;
- public class TestUser {
- public static void main(String[] args) {
- Configuration conf = new Configuration().configure();
- SessionFactory sf = conf.buildSessionFactory();
- Session session = sf.openSession();
- Transaction tx = null;
- try{
- tx = session.beginTransaction();
- User user = new users();
- user.setName("zz");
- user.setPassword("1514010630");
- user.setAge(23);
- session.save(user);
- tx.commit();
- }catch(Exception e){
- if (null!=tx){tx.rollback();}
- e.printStackTrace();
- }finally{
- session.close();
- }
- }
- }
接下来在test.java文件名称上右击,运行测试类
数据库中的数据已经正确保存到数据库
- mysql> seclect * from users;
- +---------+----------+----------+-------+
- | USER_ID | name | password | age |
- +---------+----------+----------+-------+
- | 1 | zz | 1514010630 | 23 |
- +---------+----------+----------+-------+