第一次作业 orm环境构建(hibernate)及基本的demo
一、数据库
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的更多相关文章
- 构建之法助教园地第一次作业--点评<西北师范大学|李晓婷>
		一 博客点评 第一次作业--准备篇:https://www.cnblogs.com/Mookiepiece/p/10464606.html#4192515 点评内容: 首先,你对电脑很感兴趣,兴趣就是 ... 
- c语言第一次作业1
		第一次作业 一 你对软件工程或者计算机科学与技术专业的了解是什么? 软件工程是一门研究用工程化方法构建和维护有效的,实用的和高质量的软件的学科,涉及程序语言设计,数据库,软件开发工具,系统平台,设计模 ... 
- 12 Spring Data JPA:orm思想和hibernate以及jpa的概述和jpa的基本操作
		spring data jpa day1:orm思想和hibernate以及jpa的概述和jpa的基本操作 day2:springdatajpa的运行原理以及基本操作 day3:多表操作,复杂查询 d ... 
- java第一次作业0
		lsl321 java第一次作业 #1. 本章学习总结 你对于本章知识的学习总结 本章我们学习了各种java相关文件的使用,以及码云,博客,pat等程序辅助软件,这些对于我们专业的学习有非常大的帮助, ... 
- OO第一次作业总结
		OO第一次学习总结 1.第一次作业:多项式加法 从未接触过java的我,在从输入输出开始学了几天后,按照C语言的思路,写出了一个与面向过程极其接近的程序. 在这个程序中,存在两个类:一个是Comput ... 
- ESP8266 RTOS SDK烧写环境构建
		简介 esptool是一个Python软件程序,适用于ESP8266等一系列芯片的烧写,灵活高效. 环境构建 在官网下载安装最新2.7版python (linux和os x一般会自带python2.7 ... 
- 从入门到不放弃——OO第一次作业总结
		写在最前面: 我是一个这学期之前从未接触过java的小白,对面向对象的理解可能也只是停留在大一python讲过几节课的面向对象.幸运的是,可能由于前三次作业难度还是较低,并未给我造成太大的困难,接下来 ... 
- 1【西北师大-2108Java】第一次作业成绩汇总
		[西北师大-2108Java]第一次作业成绩汇总 经过本次作业的练习,了解了Java最基本的知识和Java的发展:了解了Java到底是一门怎样的语言,也知道了学习Java的乐趣,懂得了去选择Java开 ... 
- BUAA-软件工程第一次作业
		软件工程第一次作业 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第1次个人作业 我在这个课程的目标 团队完成好的软件,并对自己作出规划 这个作 ... 
随机推荐
- Java函数2:计算两个日期相差的天数
			import java.util.Scanner; public class HelloWorld { public static void main(String[] args){ // Scann ... 
- JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
			JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ... 
- 《java入门第一季》之Character类小案例
			/* * Character 类在对象中包装一个基本类型 char 的值 * 此外,该类提供了几种方法,以确定字符的类别小写字母,数字,等等,并将字符从大写转换成小写,反之亦然 * */ 下面通 ... 
- Python学习笔记 - 切片
			#!/usr/bin/env python3 # -*- coding: utf-8 -*- def fact(n): if n == 1: return 1 return n * fact(n - ... 
- shell,python获取当前路径(脚本的当前路径) (aso项目记录)
			一.shell获取脚本当前路径 cur_dir=$(cd "$(dirname "$0")"; pwd) #获取当前脚本的绝对路径,参数$0是当前脚本对象 等 ... 
- 【Linux 操作系统】Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
			. : 关机, 如果将Linux默认运行等级设置为0, 系统将无法启动; -- : 多用户模式, 允许使用网络文件系统, 一般不使用图形界面登陆就是这种模式; -- : 多用户图形界面模式, 该模式下 ... 
- Xcode中的全局异常断点
			一旦异常断点被添加,你可以鼠标右键选择 Edit Breakpoint 打开弹出菜单. 改变异常类型为Objective-C,这可以防止C++异常被捕获,你可能不想捕获这些. 因为通常情况下你的App ... 
- dos2unix(windows脚本文件放到unix下运行要注意)
			在windows下编写的shell脚本文件,直接放到linux下运行,是不行的. infiniDB的倒库脚本文件load.sh,将tbl文件导入infiniDB,怎么运行不成功,不建job.运来,是w ... 
- Android NFC开发(一)——初探NFC,了解当前前沿技术
			Android NFC开发(一)--初探NFC,了解当前前沿技术 官方文档:http://developer.android.com/guide/topics/connectivity/nfc/ind ... 
- Erlang cowboy 处理简单的HTTP请求
			Erlang cowboy 处理简单的HTTP请求 原文出自: Handling plain HTTP requests 处理请求的最简单的方式是写一个简单的HTTP处理器.它的模型参照Erlang/ ... 
