1.首先导入所需的jar包

2.在src目录下创建hibernate.cfg.xml文件:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- 用来描述数据库的链接 -->
<session-factory>
<!-- 驱动 -->
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- url -->
<property name="connection.url">
jdbc:mysql://localhost:3306/hibernate0909
</property>
<!-- username -->
<property name="connection.username">root</property>
<!-- password -->
<property name="connection.password">123456</property>
<!--
hibernate针对建表的操作
update:如果有表,检查表的结构,如果没有则创建
create人-drop 启动hibernate创建表,结束hibernate删除表
create  每次启动都重新创建表
validate 每次启动都检查表的结构-->
<property name="hbm2ddl.auto">update</property>
<mapping resource="cn/itcast/hibernate0909/domain/Person.hbm.xml" />
</session-factory>
</hibernate-configuration>

3.创建domain:


package cn.itcast.hibernate0909.domain;
import java.io.Serializable;
public class Person implements Serializable{
private Long pid;
private String pname;
private String psex;
public Long getPid() {
return pid;
}
public void setPid(Long pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public String getPsex() {
return psex;
}
public void setPsex(String psex) {
this.psex = psex;
}
}

4.创建相应的Person.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属性:类的全名
table:该类对应的表名 可以不写,如果不写默认值就是类名
catalog 数据库的名字,可以不写,已经在hibernate.cfg.xml中配置-->
<class name="cn.itcast.hibernate0909.domain.Person" table="person"  >
<!--
主键
name描述的是属性的名称
column 数据库字段的名称
type 类型
length 长度-->
<id name="pid" type="java.lang.Long" length="5">
<column name="pid"></column>
<!--
主键的产生器increment 由hibernate产生-->
<generator class="increment" />
</id>
<!--
property 是用来标书一般属性-->
<property name="pname" type="java.lang.String" length="20">
<!--
column可以不写,如果不写,默认属性的名称-->
<column name="pname"></column>
</property>
<property name="psex" type="java.lang.String" length="5">
</property>
</class>
</hibernate-mapping>

5.创建测试类


package cn.itcast.hibernate0909.helloworld;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import cn.itcast.hibernate0909.domain.Person;
public class PersonTest {
@Test
public void testSavePerson(){
Configuration configuration = new Configuration();
//加载配置文件
configuration.configure();
//采用工厂模式创建sessionFactory
SessionFactory sessionFactory = configuration.buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction transaction = session.beginTransaction();
Person person = new Person();
//由于在映射文件中 已经说明主键的产生方式是hibernate内部产生,所以在程序中不用设置主键
person.setPname("队队员");
person.setPsex("纯爷们");
session.save(person);
transaction.commit();
session.close();
}
}

第一个hibernate程序相关推荐

  1. 对“纯手工编写的第一个Hibernate程序”的改进

    在上一篇博文<纯手工编写第一个Hibernate程序>中,介绍了如何手工编写第一个简单的Hibernate程序.在那个例子中,为了降低程序编写的难度,所有的类都没有包的声明.然而在实际开发 ...

  2. 第一个hibernate程序HelloWorldHibernate

    HelloWorldHibernate步骤: HelloWorld 1,新建java项目hibernate_0100_HelloWorld 2,学习User-library-hibernate,并加入 ...

  3. Hibernate 入门----第一个Hibernate应用程序

    (可参考Hibernate中文文档--附件下载) [align=center][size=medium] 第一个Hibernate应用程序 [/size][/align] [b]一.首先我们将创建一个 ...

  4. Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解...

    在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...

  5. NHibernate应用二:第一个NHibernate程序

    当前期工作都准备完成后,将开始NHibernate的学习过程,而在第一个NHibernate程序中,将实现通过NHibernate根据客户编号对客户表进行单条记录的查询示例.该示例中,我们将按以下几部 ...

  6. Hibernate程序性能优化的考虑要点

    Hibernate程序性能优化的考虑要点 Tag:java,j2ee,hibernate,O/R mappling, spring,性能,效率 本文依照HIBERNATE帮助文档,一些网络书籍及项目经 ...

  7. [已解决]Hibernate程序未终止

    Recently I was writing a small hibernate program and noticed that the program was not terminating ev ...

  8. SpringMVC简介及第一个MVC程序

    文章目录 SpringMVC 一. 关于SpringMVC 1.MVC 2.Spring 1.Spring简介 2.Spring的7个模块 3.Spring优点 4.Spring核心机制 5.Spri ...

  9. 一个JAVA程序员成长之路分享

    我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...

最新文章

  1. Spring Boot+JWT+Shiro+MyBatisPlus实现Restful快速开发后端脚手架
  2. python时间差中 seconds 和 total_seconds 区别
  3. 杭电1430康托 bfs(java)
  4. bangbang控制c语言代码大全,算法2-3~2-6:Big Bang-题解(C语言代码)
  5. HarmonyOS之跨设备分布式应用调试
  6. SAP CRM WebClient UI检查当前页面是否支持Delta handling的代码
  7. python 快速删除程序_如何快速一次性卸载所有python包(第三方库)呢
  8. Basic Calculator 基本计算器-Leetcode
  9. 最短路 spfa算法
  10. ASP.NET Core使用Session
  11. DDK是什么,驱动是否都要用DDK写
  12. c语言求定积分的程序,C语言求定积分
  13. 做移动视频直播应用的思路
  14. js ajax同步请求造成浏览器假死的问题
  15. 全国计算机等级考试安排表,2017年下半年(第49次)全国计算机等级考试安排表.PDF...
  16. 如何把PPT幻灯片压缩到最小
  17. 参考文献格式字号字体_字体字号格式要求
  18. 软件测试基础知识学习
  19. 计算机网络营销发展有哪些方面,《网络营销》(PPT124).ppt
  20. Multisim光耦继电器仿真电路

热门文章

  1. 简述C# XML解析方法的特点及应用
  2. java怎么判断字符串是否为空的几种方法(亲测)
  3. SpringBoot: SpringBoot里面创建导出Excel的接口(亲测)
  4. python游戏开发的五个案例分享
  5. PHP超全局变量$_ENV详解,及$_ENV为空的可能原因
  6. Linux一键安装Lnmp
  7. C语言作业界面,c语言作业20191011121223
  8. c语言随机生成整数存放一维数组_C语言入门教程(十)多维数组
  9. 微信小程序退出页面时清除定时器
  10. PHP中少用但是很好用的方法