Hibernate 学习笔记-1-1(一个简单的Hibernate实例)
来源:互联网 发布:网络机房防火规范 编辑:程序博客网 时间:2024/05/16 14:03
需引入的jar有:
以及:
2.先上一张该项目的完整包图,之后再逐一解释
3.首先创建一个hibernate.cfg.xml,代码如下(我要连接的数据库名称叫hibernate-simple,注意要提前在MySQL中创建该数据库):
<!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="hibernate.connection.url">jdbc:mysql://127.0.0.1/hibernate_simple</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="com/codedestiny/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
我们看到mapping resources连接到了一个实体配置文件,这将在后面讲解,在这要注意的是路径要以“ / ”分开,而不是“ . ”。
4.创建一个User类:
package com.codedestiny.hibernate;
import java.util.Date;
public class User {
private String id;
private String name;
private String password;
private Date createTime;
private Date expireTime;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Date getExpireTime() {
return expireTime;
}
public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
}
5.创建该类的hbm配置文件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.codedestiny.hibernate.User">
<id name="id">
<!-- 主键生成方式 -->
<generator class="uuid"></generator>
</id>
<property name="name"></property>
<property name="password"></property>
<property name="createTime"></property>
<property name="expireTime"></property>
</class>
</hibernate-mapping>
(主键的生成方式还有多种,例如自增型:generate,设置属性时可以通过column=" "修改其在数据库中的相应字段,在<class>标签中还可以通过table=" "来修改表名)
6.编写一个ExportDB.java,通过运行它可以帮我们自动创建表:
package com.codedestiny.hibernate;
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class ExportDB {
public static void main(String[] args) {
//读取配置文件
Configuration cfg = new Configuration().configure();
//创建SchemaExport对象
SchemaExport se = new SchemaExport(cfg);
//创建数据库表
se.create(true, true);
}
}
8.我编写了一个AddUserTest.java来测试通过Hibernate向数据库中插入一条数据:
package com.codedestiny.hibernate;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class AddUserTest {
public static void main(String[] args) {
//读取配置文件
Configuration cfg = new Configuration().configure();
//创建SessionFactory
SessionFactory sessionFactory = cfg.buildSessionFactory();
//获得Session
Session session = sessionFactory.openSession();
//开始事务
session.beginTransaction();
//操纵实体类,POJO
User u = new User();
u.setName("管理员");
u.setPassword("123");
u.setCreateTime(new Date());
u.setExpireTime(new Date());
//保存数据
session.save(u);
//提交事务
session.getTransaction().commit();
//关闭Session,必须关闭
if(session.isOpen()) {
session.close();
}
}
}
9.这样一个简单的Hibernate程序就完成了,没有涉及到一句sql语句,而且业务逻辑一直是面向对象的方式,这就是Hibernate的强大之处
- Hibernate 学习笔记-1-1(一个简单的Hibernate实例)
- Hibernate 学习笔记-1-1(一个简单的Hibernate实例)
- Hibernate学习笔记1--------一个简单的应用
- hibernate学习笔记(1):hibernate配置实例
- 一个简单的hibernate实例(之一)
- 一个简单的Hibernate实例
- Hibernate学习笔记(一)——简单的Hibernate实例入门
- Hibernate学习笔记(二)——创建一个简单的Hibernate项目
- springmvc+hibernate的一个简单实例
- 一个简单的Hibernate登录实例
- springmvc+hibernate的一个简单实例
- Hibernate 实例学习笔记
- 一个简单的hibernate实例(之二)
- 初学Hibernate--(1)基本介绍+一个简单的Hibernate程序
- 简单的hibernate实例
- Hibernate学习笔记(1)
- Hibernate 学习笔记(1)
- Hibernate 学习笔记(1)
- MyEclipse不能自动编译 解决办法
- hibernate3缓存管理
- 在winform中使用WebBrowser控件时怎样去除IE的滚动条
- PCTFREE和PCTUSED
- 音乐在线试听(代码实现)
- Hibernate 学习笔记-1-1(一个简单的Hibernate实例)
- BADI 开发
- Asp.net三层架构之数据访问层(MS SQL 2000版)
- web性能测试分析-工具篇
- 买房子的烦恼
- tomcat的配置(1) 配置80端口上有多个网站
- 网络专业人士学习笔记全集 超级珍藏版
- 输出Excel
- javascript 日期常用函数