一、数据库

1.创建数据库hibernate01-1514010311

   2.创建表 customer

CREATE TABLE customer(
	id int(11) not null auto_increment  PRIMARY KEY,
  name VARCHAR(20) DEFAULT NULL COMMENT '姓名',
	age int(11)  DEFAULT NULL COMMENT '年龄',
	sex VARCHAR(2)  DEFAULT null COMMENT '性别',
	city VARCHAR(20) DEFAULT NULL COMMENT '城市'
);

二、创建项目并导入jar包

  1.使用eclipse创建web项目,并导入hibernate所需的jar包

       

   2.创建实体类

package domain;

public class Customer {
	private Integer id;
	private String name;
	private Integer age;
	private String sex;
	private String city;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}
	@Override
	public String toString() {
		return "Customer [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + ", city=" + city + "]";
	}

}

  3.编写映射文件

  在domain包下创建Customer.hbm.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
	<class name="domain.Customer" table="customer">
		<id name="id" column="id">
			<generator class="native"></generator>
		</id>
		<property name="name" column="name" type="string"></property>
		<property name="age" column="age" type="integer"></property>
		<property name="sex" column="sex" type="string"></property>
		<property name="city" column="city" type="string"></property>
	</class>
</hibernate-mapping>

  4.编写核心配置文件hibernate.cfg.xml

   在src目录下创建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="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
			 <!-- 数据库驱动 -->
			<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		 	<!-- 数据库url -->
			<property name="hibernate.connection.url">jdbc:mysql:///hibernate01-1514010311</property>
			 <!-- 数据库连接用户名 -->
			<property name="hibernate.connection.username">root</property>
			 <!-- 数据库连接密码 -->
			<property name="hibernate.connection.password">0x3137</property>
			<!-- 将hibernate生成的sql语句打印到控制台 -->
			<property name="hibernate.show_sql">true</property>
			<!-- 将hibernate生成的sql语句格式化(语法缩进) -->
			<property name="hibernate.format_sql">true</property>
			<mapping resource="domain/Customer.hbm.xml" />
		</session-factory>

	</hibernate-configuration>

  5.编写测试类

  导入JUnit4运行环境(详情百度JUnit单元测试,小生不才)

   选中项目点击鼠标右键->选中Build Path->选中Configure Build Path->选中如图,选择Add Library->选择JUnit->next->finish->apply

  在test包下创建CustomerTest类

package test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import domain.Customer;

public class CustomerTest {
	@Test
	public void insertTest() {
		//1.加载核心配置文件
		Configuration config = new Configuration().configure();
		//2.获取SessionFactory
		SessionFactory sessionFactory = config.buildSessionFactory();
		//3.得到一个session
		Session session = sessionFactory.openSession();
		//4.开启事务
		Transaction transaction = session.beginTransaction();
		//5.操作
		Customer customer = new Customer();
		customer.setName("三哥无邪");
		customer.setAge(21);
		customer.setSex("男");
		customer.setCity("哈尔滨");
		//5.2将数据存储在表中
		session.save(customer);
		//6.提交事务
		transaction.commit();
		//7.关闭资源
		session.close();
		sessionFactory.close();
	}
}

  选中@Test下方法名->右键->Run As->JUnit Test

  测试添加方法insertTest()

就此一个简单的hibernate demo编写完成。

第一次作业 orm环境构建(hibernate)及基本的demo的更多相关文章

  1. 构建之法助教园地第一次作业--点评<西北师范大学|李晓婷>

    一 博客点评 第一次作业--准备篇:https://www.cnblogs.com/Mookiepiece/p/10464606.html#4192515 点评内容: 首先,你对电脑很感兴趣,兴趣就是 ...

  2. c语言第一次作业1

    第一次作业 一 你对软件工程或者计算机科学与技术专业的了解是什么? 软件工程是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科,涉及程序语言设计,数据库,软件开发工具,系统平台,设计模 ...

  3. 12 Spring Data JPA:orm思想和hibernate以及jpa的概述和jpa的基本操作

    spring data jpa day1:orm思想和hibernate以及jpa的概述和jpa的基本操作 day2:springdatajpa的运行原理以及基本操作 day3:多表操作,复杂查询 d ...

  4. java第一次作业0

    lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ...

  5. OO第一次作业总结

    OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是Comput ...

  6. ESP8266 RTOS SDK烧写环境构建

    简介 esptool是一个Python软件程序,适用于ESP8266等一系列芯片的烧写,灵活高效. 环境构建 在官网下载安装最新2.7版python (linux和os x一般会自带python2.7 ...

  7. 从入门到不放弃——OO第一次作业总结

    写在最前面: 我是一个这学期之前从未接触过java的小白,对面向对象的理解可能也只是停留在大一python讲过几节课的面向对象.幸运的是,可能由于前三次作业难度还是较低,并未给我造成太大的困难,接下来 ...

  8. 1【西北师大-2108Java】第一次作业成绩汇总

    [西北师大-2108Java]第一次作业成绩汇总 经过本次作业的练习,了解了Java最基本的知识和Java的发展:了解了Java到底是一门怎样的语言,也知道了学习Java的乐趣,懂得了去选择Java开 ...

  9. BUAA-软件工程第一次作业

    软件工程第一次作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标 团队完成好的软件,并对自己作出规划 这个作 ...

随机推荐

  1. Uva - 210 - Concurrency Simulator

    自己写个双端队列,或者直接用deque,这个也比较好用 AC代码: #include <iostream> #include <cstdio> #include <cst ...

  2. 老司机带你玩转web service

    当大型需求被数个公司分割开来,各公司系统相互交换数据的问题就会接踵而来.毕竟是多家不同的公司的产品,研发开发语言.采用技术框架基本上是百花齐放.怎样让自家系统提供的服务具有跨平台.跨语言.跨各种防火墙 ...

  3. Linux0.11中对文本文件进行修改的策略

    现在,假设 hello.txt 是硬盘上已有的一个文件,而且内容为 "hello, world" ,在文件的当前指针设置完毕后,我们来介绍 sys_read , sys_write ...

  4. AngularJS进阶(三十二)书海拾贝之特殊的ng-src和ng-href

    书海拾贝之特殊的ng-src和ng-href 在说明这两个指令的特殊之前,需要先了解一下ng的启动及执行过程,如下: 1) 浏览器加载静态HTML文件并解析为DOM: 2) 浏览器加载angular. ...

  5. AngularJS进阶(二十八)解决AngualrJS页面刷新导致异常显示问题

    解决AngualrJS页面刷新导致异常显示问题 绪 俗话说,细节决定成败,编程亦是如此.编程过程中我们可能会不自觉的忽视一些细节问题,殊不知,这些细节正是导致页面显示出现问题的地方.今略举一例,与君共 ...

  6. Ext JS 5初探(三)

    在上文提到了本地化文件的问题,然后在Ext JS 5的包里找了找,居然还没包含本地化包.我估计目前还不到考虑本地化的时候.在Sencha Touch中,是没有本地化包的,但是要让Ext JS也不包含本 ...

  7. Mahout fp-growth

    FP-growth Apriori算法的一个主要瓶颈在于,为了获得较长的频繁模式,需要生成大量的候选短频繁模式.FP-Growth算法是针对这个瓶颈提出来的全新的一种算法模式.目前,在数据挖掘领域,A ...

  8. redis学习资料

    http://www.it168.com/redian/redis/ http://down.51cto.com/data/836008 http://www.redis.cn/

  9. Android中让多个线程顺序执行探究

    线程调度是指按照特定机制为多个线程分配CPU的使用权. 有两种调度模型:分时调度模型和抢占式调度模型. 分时调度模型:是指让所有的线程轮流获得cpu的使用权,并且平均分配每个线程占用的CPU的时间片. ...

  10. Java-HttpServlet

    /** * * Provides an abstract class to be subclassed to create * an HTTP servlet suitable for a Web s ...