第一个hibernate程序
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程序相关推荐
- 对“纯手工编写的第一个Hibernate程序”的改进
在上一篇博文<纯手工编写第一个Hibernate程序>中,介绍了如何手工编写第一个简单的Hibernate程序.在那个例子中,为了降低程序编写的难度,所有的类都没有包的声明.然而在实际开发 ...
- 第一个hibernate程序HelloWorldHibernate
HelloWorldHibernate步骤: HelloWorld 1,新建java项目hibernate_0100_HelloWorld 2,学习User-library-hibernate,并加入 ...
- Hibernate 入门----第一个Hibernate应用程序
(可参考Hibernate中文文档--附件下载) [align=center][size=medium] 第一个Hibernate应用程序 [/size][/align] [b]一.首先我们将创建一个 ...
- Java程序员从笨鸟到菜鸟之(五十一)细谈Hibernate(二)开发第一个hibernate基本详解...
在上篇博客中,我们介绍了<hibernate基本概念和体系结构>,也对hibernate框架有了一个初步的了解,本文我将向大家简单介绍Hibernate的核心API调用库,并讲解一下它的基 ...
- NHibernate应用二:第一个NHibernate程序
当前期工作都准备完成后,将开始NHibernate的学习过程,而在第一个NHibernate程序中,将实现通过NHibernate根据客户编号对客户表进行单条记录的查询示例.该示例中,我们将按以下几部 ...
- Hibernate程序性能优化的考虑要点
Hibernate程序性能优化的考虑要点 Tag:java,j2ee,hibernate,O/R mappling, spring,性能,效率 本文依照HIBERNATE帮助文档,一些网络书籍及项目经 ...
- [已解决]Hibernate程序未终止
Recently I was writing a small hibernate program and noticed that the program was not terminating ev ...
- SpringMVC简介及第一个MVC程序
文章目录 SpringMVC 一. 关于SpringMVC 1.MVC 2.Spring 1.Spring简介 2.Spring的7个模块 3.Spring优点 4.Spring核心机制 5.Spri ...
- 一个JAVA程序员成长之路分享
我搞JAVA也有些日子了, 因为我比较贪玩,上进心不那么强, 总是逼不得已为了高薪跳槽才去学习, 所以也没混成什么大牛, 但好在现在也已经成家立业, 小日子过的还算滋润, 起码顶得住一月近万元的吃喝拉 ...
最新文章
- Spring Boot+JWT+Shiro+MyBatisPlus实现Restful快速开发后端脚手架
- python时间差中 seconds 和 total_seconds 区别
- 杭电1430康托 bfs(java)
- bangbang控制c语言代码大全,算法2-3~2-6:Big Bang-题解(C语言代码)
- HarmonyOS之跨设备分布式应用调试
- SAP CRM WebClient UI检查当前页面是否支持Delta handling的代码
- python 快速删除程序_如何快速一次性卸载所有python包(第三方库)呢
- Basic Calculator 基本计算器-Leetcode
- 最短路 spfa算法
- ASP.NET Core使用Session
- DDK是什么,驱动是否都要用DDK写
- c语言求定积分的程序,C语言求定积分
- 做移动视频直播应用的思路
- js ajax同步请求造成浏览器假死的问题
- 全国计算机等级考试安排表,2017年下半年(第49次)全国计算机等级考试安排表.PDF...
- 如何把PPT幻灯片压缩到最小
- 参考文献格式字号字体_字体字号格式要求
- 软件测试基础知识学习
- 计算机网络营销发展有哪些方面,《网络营销》(PPT124).ppt
- Multisim光耦继电器仿真电路
热门文章
- 简述C# XML解析方法的特点及应用
- java怎么判断字符串是否为空的几种方法(亲测)
- SpringBoot: SpringBoot里面创建导出Excel的接口(亲测)
- python游戏开发的五个案例分享
- PHP超全局变量$_ENV详解,及$_ENV为空的可能原因
- Linux一键安装Lnmp
- C语言作业界面,c语言作业20191011121223
- c语言随机生成整数存放一维数组_C语言入门教程(十)多维数组
- 微信小程序退出页面时清除定时器
- PHP中少用但是很好用的方法