一、Hibernate导入相关的包

参考:http://blog.csdn.net/tunni/article/details/54982160

这些包包括相应数据库驱动、hibernate.zip下lib目录下的jar包,其中必须包是required目录下的.jar

二、在项目classpath(类路径,即src目录下)配置hibernate.cfg.xml,并且配置数据库连接

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 >    <!-- mysql数据库驱动 -->    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>    <!-- mysql数据库名称 -->    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_db</property>   <!-- 数据库的登陆用户名 -->    <property name="hibernate.connection.username">root</property>    <!-- 数据库的登陆密码 -->    <property name="hibernate.connection.password">admin</property>  <!-- 方言:为每一种数据库提供适配器,方便转换 -->    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>    <!-- 建议配置,方便在日志中查看sql语句-->    <propertynamepropertyname="hibernate.show_sql">true</property>  <propertyname="hibernate.format_sql">true</property>  <!--配置类与表的映射文件 -->    <mapping resource="com/hibernate/User.hbm.xml"/></session-factory>
</hibernate-configuration>

com.hibernate.User类

package com.hibernate;public class User {    private String id;    private String username;    private String password;    public String getId() {    return id;    }    public void setId(String id) {    this.id = id;    }    public String getUsername() {    return username;    }    public void setUsername(String userName) {    this.username = userName;    }    public String getPassword() {    return password;    }    public void setPassword(String password) {    this.password = password;    }
}

User.hbm.xml配置文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">    <hibernate-mapping>    <!-- 类与数据库的表对应 -->    <class name="com.hibernate.User" table="user">    <!-- 主键名 -->    <id name="id" column="id">    <!-- 生成策略 -->    <generator class="uuid"/>    </id>    <!-- 其他类属性与表字段 -->     <property name="username" column="username"/>    <property name="password"/>    </class>
</hibernate-mapping>  

hibernate访问工具类

package hibernate;
/*** hibernate工具* @author maokun* */
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;public class HibernateUtil {private static final SessionFactory sessionFactory;static{try{   //配置文件放在classpath路径,即src目录下//如果hibernate的配置文件目录为hibernate.cfg.xml,则//Configuration config = new Configuration().configure();//或Configuration config = new Configuration().configure("hibernate.cfg.xml");//或Configuration config = new Configuration().configure("hibernate.cfg.xml");       //配置其他路径如下://Configuration config = new Configuration().configure("hibernate/hibernate.cfg.xml");Configuration config = new Configuration().configure("/hibernate/hibernate.cfg.xml");sessionFactory = config.buildSessionFactory();}catch(Throwable e){throw new ExceptionInInitializerError(e);}}public static final ThreadLocal session = new ThreadLocal();public static Session currentSession() throws HibernateException{Session s = (Session)session.get();//如果线程没有session,打开新的sessionif(s == null || !s.isOpen()){s = sessionFactory.openSession();session.set(s);}return s;}public static void closeSession() throws HibernateException{Session s = (Session)session.get();session.set(null);if(s != null)s.close();}}

三、第一个hibernate例子

先创建hibernate_db数据库,接着创建user表包含id,username,password。

Test类

package hibernate;import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;import com.hibernate.User;public class Test {public static void main(String[] args) {User user =new User();user.setUsername("name");user.setPassword("pass");Session session = HibernateUtil.currentSession();//生成Session实例Transaction tx = session.beginTransaction();try{session.save(user);    //保存持久类对象tx.commit();        //提交到数据库session.close();            }catch(HibernateException e){e.printStackTrace();tx.rollback();}}
}

Hibernate框架之入门配置相关推荐

  1. hibernate框架(二)核心配置API

    一:核心配置分为三大部分  必须的配置 .可选的配置和引入映射文件. 1.必须的配置 连接数据库的参数:驱动类  url路径  用户名  密码  方言 <property name=" ...

  2. Hibernate框架基础——Hibernate入门

    Hibernate入门 Hibernate介绍 Hibernate是一个基于jdbc的开源的持久化框架,是一个优秀的ORM实现,它很大程度的简化了dao层编码工作.Hibernate对JDBC访问数据 ...

  3. 在hibernate框架中配置显示sql语句

    使用Hibernate的框架开发时,可在Hibernate.cfg.xml中加上 <property name="hibernate.show_sql">true< ...

  4. java元婴期(22)----java进阶(mybatis(1)---mybatis框架概述入门程序)

    1.对原生态jdbc程序中问题总结(为啥要用mybatis) 1.数据库连接,使用时就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响 数据库性能. 设想:使用数据库连接 ...

  5. hibernate教程--快速入门(增删改查)

    一. Hibernate框架的概述: 1.1 什么是Hibernate: 框架:软件的半成品,完成部分功能代码. Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC ...

  6. SSH框架第一天——hibernate框架

    什么是框架? 是软件的半成品,它已经完成了部分功能. 什么是hibernate? hibernate是一个开放源代码的对象关系映射(ORM)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程 ...

  7. Hibernate框架基本使用

    时间:2017-1-16 00:36 --什么是Hibernate Hibernate是一个开放源代码的关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操 ...

  8. Struts2框架简单入门

    Struts2框架简单入门 1.前言 2.Struts2简介 2.1.Struts2介绍 2.2.Struts2优缺点 2.2.1.优点 2.2.2.缺点 2.2.3.Struts2获取 3.入门案例 ...

  9. Hibernate框架第二天

    ### Hibernate的持久化类 ### ---------- **什么是持久化类** 1. 持久化类:就是一个Java类(咱们编写的JavaBean),这个Java类与表建立了映射关系就可以成为 ...

最新文章

  1. IOS 内存管理小结
  2. oracle avg分析函数,分析函数之sum,avg
  3. 前端学习(2894):列表组件的拆分和样式编写
  4. python函数方法里面用浅复制深复制_图解 Python 浅拷贝与深拷贝
  5. Asp.Net高级知识回顾_HttpModule及应用程序生命周期_1
  6. rabbitmq 消费端代码获取队列名称_RabbitMQ四:生产者--队列--消费者
  7. 4月份西部数码.wang域名注册量报告:增速严重缩水
  8. opengl光线追踪的程序_【PathTracing】实时光线追踪和BSSRDF的那些事
  9. 学术 | 如何写一篇学术论文?(上)
  10. 无法显示jinglingzhoushou-2.0.4.AppImage
  11. python修改app定位_5种萌新技巧定位APP_SIGN代码
  12. Nginx从入门到精通
  13. 使用最小二乘法计算多元线性回归的公式推导
  14. 如何删除双系统中的ubuntu系统
  15. mysql数据库授权,备份,恢复_wuli大世界_新浪博客
  16. 使用 Python 全栈打造淘宝客微信机器人
  17. Mybatis学习一
  18. JS实现span标签显示年月日日期格式
  19. python合并ts文件教程
  20. HDU Today 【最短路径】+【构造map】

热门文章

  1. [C语言] va_start和va_end详解
  2. LeetCode 19删除链表的倒数第N个节点-中等
  3. 今年暑假不AC-贪心
  4. 创建型模式——原型模式
  5. python注入进程_向进程中注入Python代码
  6. 对全局变量,static静态变量的理解
  7. leetcode 二进制求和 addBinary
  8. HDU 4812 D Tree (点分治) (2013ACM/ICPC亚洲区南京站现场赛)
  9. Hills And Valleys CodeForces - 1467B 思维
  10. HDU 5510 Bazinga