1,官网包简介

  整体简介

  Project包简介,这个包里有etc文件,这个etc主要包括了配置文件,最主要的是hibernate.cfg.xml文件

lib文件夹包含的是需要加载的依赖jar包,必须加上require和jpa的包,可选的包以后再说

最后,在整个工程文件的目录结构如下

2,这里需要写一下hibernate.cfg.xml的配置文件的相关状况

注意,这个配置文件一共包含下面几部分

a,数据库配置信息,5个,包括方言,driver,url,username,pwd

b,导入映射配置文件 xxx.hbm.xml。用于和类进行映射

c.其他配置信息

 <!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
<session-factory name="foo">
<property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 方言,指明要配置的数据库的类型 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 加载数据库驱动类名 -->
<property name="connection.url">jdbc:mysql:///test</property><!-- 数据库连接名称 -->
<property name="connection.username">root</property><!-- 用户名 -->
<property name="connection.password">123456</property><!-- 密码 -->
<property name="show_sql">true</property><!-- 是否显示sql语句 -->
<mapping resource="test/User.hbm.xml" /><!-- 指明匹配的hbm文件 -->
</session-factory>
</hibernate-configuration>

hibernate配置信息

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 package="test">
<class name="User"> <!-- 对应于数据库的表名-->
<id name="id" type="int" column="id"> <!-- 对应数据库的主键名 -->
<generator class="native"/> <!-- 自增长 -->
</id>
<property name="name" type="string" column="name" /><!-- 列名和类型 -->
</class>
</hibernate-mapping>

user.hbm.xml

3,到这里基本配置工作就结束了,现在开始在程序中调用这些

 package test;

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; public class AddUser {
private static SessionFactory sf;
static{
Configuration cfg = new Configuration();
cfg.configure("hibernate.cfg.xml");
sf = cfg.buildSessionFactory();
} @Test
public void addUser() {
User u = new User();
u.setName("liyangyang"); Session s = sf.openSession(); //核心,在这里获取的到的是Session核心,主要靠这个来对数据进行操作
Transaction tr = s.beginTransaction(); //开启一个事务
s.save(u);
tr.commit(); //提交一个事务
s.close();
}
@Test
public void getUser() {
Session s = sf.openSession();
User u = (User) s.get(User.class, 1);
System.out.println(u);
s.close();
}
}

User的操作

Hibernate总结1(入门)的更多相关文章

  1. Hibernate入门1. Hibernate基础知识入门

    Hibernate入门1. Hibernate基础知识入门 20131127 前言: 之前学习过Spring框架的知识,但是不要以为自己就可以说掌握了Spring框架了.这样一个庞大的Spring架构 ...

  2. Hibernate框架之入门

    1.Hibernate框架简述 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.proper ...

  3. Hibernate介绍和入门案例

    一身转战三千里,一剑曾当百万师 如果你在之前没有学过SSH三大框架,那么你之前肯定是通过JDBC来对数据库进行操作.现在,你完全可以把跟数据库交互的操作直接交给Hibernate. Hibernate ...

  4. Hibernate学习笔记(一)—— Hibernate概述及入门

    一.Hibernatea概述 1.1 什么是Hibernate? 在介绍什么是Hibernate之前,我们先讨论一下什么是框架?框架是用来提高开发效率的,框架封装好了一些功能,我们需要使用这些功能时, ...

  5. Hibernate框架之入门案例

    今天终于开始学习了三大框架的其中一个框架,Hibernate框架,在这里不去讲Hibernate框架的一些基础概念了,直接切入代码,带大家了解一下Hibernate能干什么, Hibernate的人们 ...

  6. Hibernate的基础入门(一)

    一Java三层结构 1 web层:struts框架 2 service层:Spring框架 3  dao层 :hibernate框架 相当于MVC的思想 1 M:模型èhibernate框架 2 V: ...

  7. Hibernate-ORM:02.Hibernate增删改入门案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本笔者使用的是Idea+mysql+maven做Hibernate的博客,本篇及其以后都是如此! 首先写好思路 ...

  8. hibernate添加数据入门小案例

    1.建立一个java项目,在目录下新建一个lib文件夹引入hibernate架包如图所示: 2. 新建com.LHB.domain包,在包中分别创建一个Employee.java和Employee.h ...

  9. Hibernate第一天——入门和基本操作

    第一个接触的框架就是这个Hibernate框架了,Hibernate本意是 冬眠 ,这里有必要引用CSDN上某位网友某个帖子的评论先引出框架的概念: 框架:一个软件半成品,帮你做了一些基础工作,你就可 ...

  10. hibernate基础简单入门1---helloword

    1:目录结果 2:实体类(student.java) package com.www.entity; public class Student { private int id; private St ...

随机推荐

  1. 分享php工作中遇到的一些探究和技巧【1】

    一 foreach的引用 $arr = range(,); //[1,2,3] foreach($arr as &$val) { } foreach($arr as $val) { } pri ...

  2. 为什么Java中字符串是不可变的

    前言 在Java中,字符串是一个不可变的类,一个不可变的类指的是它的实例对象不能被修改,所有关于这个对象的信息在这个对象被创建时已初始化且不能被改变. 不可变类有很多优势,这篇文章总结了字符串类之所以 ...

  3. python 打印对象的所有属性值

    def prn_obj(obj): print '\n'.join(['%s:%s' % item for item in obj.__dict__.items()])

  4. HTML基础(二)——表单,图片热点,网页划区和拼接

    一.表单 <form id="" name="" method="post/get" action="负责处理的服务端&qu ...

  5. Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案

    相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js function onAsyncSuccess(e ...

  6. shell脚本变量

    既然是变量,自然分变量名和变量值,在使用的时候一定要注意哪些地方需要用变量名,哪些地方需要用变量的值. 自定义变量 shell变量不需要声明,随用随定义,给变量赋值的时候要注意 shell是空格敏感的 ...

  7. delphi 相对路径

    ..代表上级目录 .代表当前目录 \代表目录分隔 ..\..\表上上一级目录

  8. TeX Live安装配置等默认目录

    TeX Live默认目录情况:   TEXDIR (the main TeX directory):     !! default location: /usr/local/texlive/2015  ...

  9. WcfDataService with EntityFramework 6 的若干问题

    1.Microsoft.Data.Edm等NuGet包需要升级到5.6版本 2.SVC不要使用DataService基类 class WcfDataService1 : DataService< ...

  10. AngularJS 拦截器

    在需要进行身份验证时,在请求发送给服务器之前或者从服务器返回时对其进行拦截,是比较好的实现手段. 例如,对于身份验证,如果服务器返回401状态码,将用户重定向到登录页面. AngularJS通过拦截器 ...