Hibernate:hibernate环境搭建并实现hibernate例子
来源:互联网 发布:知秋的小说哪本好看 编辑:程序博客网 时间:2024/06/14 06:10
一、简介:
- Hibernate:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
二、环境搭建:
开发环境以及插件下载:
- eclipse
- Hibernate tools for eclipse:下载地址
- Hibernate必备jar包:下载地址
- Project源代码:下载地址
插件的安装
Help->Install new Software
安装完成之后重启eclipse即可使用,
File->New->Other如下出现Hibernate则安装成功创建一个JavaProject,并导入上面链接下载的全部Jar包。
新建一个Hibernate配置文件
在配置文件中增加内容:
<!-- 必须属性 用户名和密码按照自己的来--> <property name="connection.username">root</property> <property name="connection.password">154451</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///hibernate?useUnicode=true& characterEncoding=UTF-8</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 常用属性 --> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property>
- 到现在,基本的环境已经搭建完了,接下来写一个示例
三、实现Hibernate示例(将学生类对象)
- 创建持久化对象(Students)
package hibernate_001;import java.util.Date;import org.hibernate.annotations.Entity;import org.hibernate.annotations.Table;//学生 持久化类public class Students { // 遵从的主要设计原则 /* * 1.公有的类 * 2.提供公有的不带参的默认的构造方法 * 3.属性私有 * 4.属性setter、getter封装 */ private int sid; // 学号 private String sname; // 姓名 private String gender; // 性别 private Date birthday; // 出生日期 private String address; // 地址 public Students() { } public Students(int sid, String sname, String gender, Date birthday, String address) { this.sid = sid; this.sname = sname; this.gender = gender; this.birthday = birthday; this.address = address; } public int getSid() { return sid; } public void setSid(int sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return "Students [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", birthday=" + birthday + ", address=" + address + "]"; }}
手动创建数据库 名字为:hibernate
创建对象-关系映射文件
在hibernate.cfg.xml中添加:
<!-- 将学生类 映射的xml加入到配置文件 --> <mapping resource="Students.hbm.xml"/>
- 目前整个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.username">root</property> <property name="connection.password">154451</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql:///hibernate?useUnicode=true& characterEncoding=UTF-8</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 常用属性 --> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property> <!-- 将学生类 映射的xml加入到配置文件 --> <mapping resource="Students.hbm.xml"/> </session-factory></hibernate-configuration>
- 编写测试类
package hibernate_001;import java.util.Date;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.hibernate.service.ServiceRegistry;import org.hibernate.service.ServiceRegistryBuilder;import org.junit.After;import org.junit.Before;import org.junit.Test;public class StudentTest { private SessionFactory sessionFactory; //会话工厂对象 private Session session; private Transaction transcction; //准备工作 在 Test之前执行 @Before public void init() { //初始化 //创建配置对象 Configuration config = new Configuration().configure(); //创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings( config.getProperties()).buildServiceRegistry(); //创建会话工厂对象 sessionFactory = config.buildSessionFactory(serviceRegistry); //会话对象 session = sessionFactory.openSession(); //开启事务 transcction = session.beginTransaction(); } @After public void destory() { transcction.commit(); //提交事务 session.close(); //关闭会话 sessionFactory.close(); //关闭会话工厂 } //测试方法 测试保存学生对象 @Test public void testSaveStudent(){ //生成学生对象 Students stu = new Students(1,"疾风剑豪","男",new Date(), "召唤师峡谷"); session.save(stu); //保存对象到数据库 }}
测试结果:成功自动创建表,并把学生对象存入到了数据库
Tip:该项目用到的Jar包和插件,已经Project源代码都可以直接下载。
1 0
- Hibernate:hibernate环境搭建并实现hibernate例子
- hibernate环境搭建与例子
- 【hibernate框架】搭建hibernate环境
- hibernate--2.搭建hibernate环境
- 第一章 Hibernate环境搭建
- 搭建hibernate开发环境
- Hibernate环境搭建
- Hibernate环境的搭建
- Hibernate环境搭建
- Hibernate环境的搭建
- Hibernate环境搭建
- hibernate 搭建环境
- Hibernate之一环境搭建
- hibernate环境搭建
- Hibernate 环境搭建步骤
- hibernate环境搭建
- Hibernate Test环境搭建
- Spring+Hibernate环境搭建
- Atitit 微信支付 支付结果通用通知
- C++学习笔记
- Android控件之LabelView
- Android一键退出应用
- Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法
- Hibernate:hibernate环境搭建并实现hibernate例子
- Android练习-----单选按钮(RadioButton) && 复选框(CheckBox)
- python 中的循环
- POj2255 利用先序,中序输出后序序列
- Spring-春天的故事1
- 数据库系统概论第五版学习笔记连接查询 第三章(三)
- vs的一些事
- jquery 之 Deferred 使用与实现
- 深入解析AsyncTask(doInBackground不工作)