小峰Hibernate简介与HelloWorld
一、Hibernate简介:
二、Hibernate4 版Hello World 实现
工程结构:
com.cy.model.Student:
- package com.cy.model;
- 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;
- }
- }
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.cy.model">
- <class name="Student" table="t_student">
- <!--
- <id>代表主键
- 类的属性名是id,对应表中列名是stuId
- -->
- <id name="id" column="stuId">
- <!-- 主键生成策略,这里采用mysql的native,自增 -->
- <generator class="native"></generator>
- </id>
- <!-- 普通属性采用property
- 不写column,那么数据库table的列名也叫name
- -->
- <property name="name"></property>
- </class>
- </hibernate-mapping>
com.cy.service.StudentTest.java:
- package com.cy.service;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.boot.registry.StandardServiceRegistry;
- import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
- import org.hibernate.cfg.Configuration;
- import com.cy.model.Student;
- public class StudentTest {
- public static void main(String[] args) {
- Configuration configuration = new Configuration().configure(); //实例化配置文件,默认指定的就是hibernate.cfg.xml
- StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();//实例化服务登记,服务注册
- SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); //获取session工厂
- Session session = sessionFactory.openSession(); //生成一个session
- session.beginTransaction(); //开启事务
- Student s = new Student();
- s.setName("张三");
- session.save(s);
- session.getTransaction().commit(); //提交事务
- session.close(); //关闭session
- sessionFactory.close(); //关闭session工厂
- }
- }
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-configuration>
- <session-factory>
- <!--数据库连接设置 -->
- <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/cy/model/Student.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
运行StudentTest.java,测试结果:
小峰Hibernate简介与HelloWorld的更多相关文章
- Hibernate简介与实例
一.Hibernate简介 1.什么是Hibernate? Hibernate是数据持久层的一个轻量级框架.数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等 ...
- hibernate学习一(hibernate简介与准备)
一.hibernate简介 Hibernate是一个开放源代码的对象-关系映射(Object/Relational Mapping 即 ORM)框架,它对JDBC进行了非常轻量级的对象封装,它将POJ ...
- 框架基础之Hibernate简介
框架基础之Hibernate简介 1.什么是Hibernate? Hibernate是一个开发源代码的对象关系映射框架,它对JDBC进行非常轻量级的对象封装,使得程序员可以随心所欲地使用对象编程思维来 ...
- hibernate简介以及简单配置
Hibernate简介: Hibernate是一个开源对象关联关系映射的框架,他对JDBC做了轻量级的封装,使我们可以通过面向对象的思想操作数据库. 为什么要用Hibernate: 1: 对JDBC访 ...
- 微信小程序学习简介
如何向微信小程序导入DEMO源码: 参考方法 参考学习小程序官方文档 小程序官方文档 小程序目录简介 app.json :设置一些工程全局的量.js : 写一些函数逻辑.wxml: 调用.js中写的函 ...
- 1.一起来学hibernate之hibernate简介
一.简介 Hibernate,是一个开源的ORM框架.所谓的ORM,即object relative mapping,就是对象关系映射. 那什么是对象关系映射? 对象,即java类,又称为实体类,对象 ...
- 1.Hibernate简介
1.框架简介: 定义:基于java语言开发的一套ORM框架: 优点:a.方便开发; b.大大减少代码量; c.性能稍高(不能与数据库高手相比,较一般数据库使用者 ...
- Hibernate —— 概述与 HelloWorld
一.Hibernate 概述 1.Hibernate 是一个持久化框架 (1)从狭义的角度来讲,“持久化” 仅仅指把内存中的对象永久的保存到硬盘中的数据库中. (2)从广义的角度来讲,“持久化” 包括 ...
- hibernate 02之helloworld
1.安装插件 安装方法说明(hibernatetools-.Final): Help --> Install New Software... Click Add... In dialog Add ...
随机推荐
- 安装Fedora 21工作站后要做的10件事情
教程]安装Fedora 21工作站后要做的10件事情 2015-01-07 13:32 CSDN CODE 作者CSDN CODE 1 755 FedoraGNOMELinux Fedora 21已经 ...
- Linux(CentOS7)下发送邮件(使用Gmail作为发件服务器)
参考下述文章的思路,补充了在Gmail上的相关设置 https://gist.github.com/ilkereroglu/aa6c868153d1c5d57cd8 1.安装mailx yum ins ...
- MySQL学习(一): MySQL的初步操作与命令
启动与关闭: 用管理员身份运行cmd 启动:net start mysql57 其中mysql57是我的MySQL名称,版本不同名称可能不一样 关闭:net stop mysql57 与上面同理 登录 ...
- Android性能优化系列之电量优化
电量消耗的计算与统计是一件麻烦而且矛盾的事情,记录电量消耗本身也是一个费电量的事情,随着Android开的性能要求越来越高,电量的优化,也显得格外重要,一个耗电的应用,用户肯定会毫不犹豫的进行卸载,所 ...
- UCB算法
前言: 来万物花开这家创业公司实习,也真是一波三折.先实习了三天,每天下午到公司工作到晚上.工作时间是每天下午到晚上9.30.结果每天上午没法用心干实验室的活了,下午在公司工作的时候,总是提心吊胆,手 ...
- SortedList【排序列表】
C# 集合 SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问. 排序列表是数组和哈希表的组合.它包含一个可使用键或索引访问各项的列表.如果您使用索引访问各项 ...
- [QT]给QApplication安装事件过滤器 app.installEventFilter
Qt的事件处理有5种级别: 1. 重写控件的事件处理函数:如重写keyPressEvent(),mousePressEvent()和paintEvent(),这是最常用的事件处理方法,我们已 ...
- 用with来打开文本文件
with open ('text.txt') as f: for line in f.readlines(): print(line) 这种方法的好处就是如果出了异常也会自动提示报错.
- 新手向——关于Python3.5在Windows 10 系统下发布模块的终极讲解
博主自己在发布Python模块的时候也是摸索了好久啊,因为跟着书上写的步骤一步一步来终究会跪的节奏有木有啊!!!几经波折终于搞出来了,贴下来与诸君共勉.之前的步骤相信大家都已经知道了,那我们就直接跳过 ...
- JPA级联(一对一 一对多 多对多)注解【实际项目中摘取的】并非自己实际应用
下面把项目中的用户类中有个:一对一 一对多 多对多的注解对应关系列取出来用于学习 说明:项目运行正常 问题类:一对多.一对一.多对多 ============一对多 一方的设置 @One ...