hibernate框架的搭建
1 导入所需的jar包
1 导入hibernate必须的jar包
2 导入驱动包
2 创建数据库,准备表,实体
1 创建hibernate数据库
- CREATE DATABASE hibernate;
2 创建cst_customer表
- CREATE TABLE `cst_customer` (
- `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
- `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
- `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
- `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
- `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
- `cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
- `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '固定电话',
- `cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT '移动电话',
- PRIMARY KEY (`cust_id`)
- ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
3 Customer实体
- package www.test.domain;
- public class Customer {
- /*
- * CREATE TABLE `cst_customer` (
- `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
- `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
- `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
- `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
- `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
- `cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
- `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '固定电话',
- `cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT '移动电话',
- PRIMARY KEY (`cust_id`)
- ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
- */
- private Long cust_id;
- private String cust_name;
- private String cust_source;
- private String cust_industry;
- private String cust_level;
- private String cust_linkman;
- private String cust_phone;
- private String cust_mobile;
- public Long getCust_id() {
- return cust_id;
- }
- public void setCust_id(Long cust_id) {
- this.cust_id = cust_id;
- }
- public String getCust_name() {
- return cust_name;
- }
- public void setCust_name(String cust_name) {
- this.cust_name = cust_name;
- }
- public String getCust_source() {
- return cust_source;
- }
- public void setCust_source(String cust_source) {
- this.cust_source = cust_source;
- }
- public String getCust_industry() {
- return cust_industry;
- }
- public void setCust_industry(String cust_industry) {
- this.cust_industry = cust_industry;
- }
- public String getCust_level() {
- return cust_level;
- }
- public void setCust_level(String cust_level) {
- this.cust_level = cust_level;
- }
- public String getCust_linkman() {
- return cust_linkman;
- }
- public void setCust_linkman(String cust_linkman) {
- this.cust_linkman = cust_linkman;
- }
- public String getCust_phone() {
- return cust_phone;
- }
- public void setCust_phone(String cust_phone) {
- this.cust_phone = cust_phone;
- }
- public String getCust_mobile() {
- return cust_mobile;
- }
- public void setCust_mobile(String cust_mobile) {
- this.cust_mobile = cust_mobile;
- }
- @Override
- public String toString() {
- return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + "]";
- }
- }
3 书写orm元数据(对象与表的映射配置文件)
- <?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="www.test.domain.Customer" table="cst_customer">
- <id name="cust_id" column="cust_id">
- <generator class="native"></generator>
- </id>
- <property name="cust_name" column="cust_name"></property>
- <property name="cust_source" column="cust_source"></property>
- <property name="cust_industry" column="cust_industry"></property>
- <property name="cust_level" column="cust_level"></property>
- <property name="cust_linkman" column="cust_linkman"></property>
- <property name="cust_phone" column="cust_phone"></property>
- <property name="cust_mobile" column="cust_mobile"></property>
- </class>
- </hibernate-mapping>
1 导入约束
- <!DOCTYPE hibernate-mapping PUBLIC
- "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
- "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
2 实体
- package www.test.domain;
- public class Customer {
- /*
- * CREATE TABLE `cst_customer` (
- `cust_id` BIGINT(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
- `cust_name` VARCHAR(32) NOT NULL COMMENT '客户名称(公司名称)',
- `cust_source` VARCHAR(32) DEFAULT NULL COMMENT '客户信息来源',
- `cust_industry` VARCHAR(32) DEFAULT NULL COMMENT '客户所属行业',
- `cust_level` VARCHAR(32) DEFAULT NULL COMMENT '客户级别',
- `cust_linkman` VARCHAR(64) DEFAULT NULL COMMENT '联系人',
- `cust_phone` VARCHAR(64) DEFAULT NULL COMMENT '固定电话',
- `cust_mobile` VARCHAR(16) DEFAULT NULL COMMENT '移动电话',
- PRIMARY KEY (`cust_id`)
- ) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
- */
- private Long cust_id;
- private String cust_name;
- private String cust_source;
- private String cust_industry;
- private String cust_level;
- private String cust_linkman;
- private String cust_phone;
- private String cust_mobile;
- public Long getCust_id() {
- return cust_id;
- }
- public void setCust_id(Long cust_id) {
- this.cust_id = cust_id;
- }
- public String getCust_name() {
- return cust_name;
- }
- public void setCust_name(String cust_name) {
- this.cust_name = cust_name;
- }
- public String getCust_source() {
- return cust_source;
- }
- public void setCust_source(String cust_source) {
- this.cust_source = cust_source;
- }
- public String getCust_industry() {
- return cust_industry;
- }
- public void setCust_industry(String cust_industry) {
- this.cust_industry = cust_industry;
- }
- public String getCust_level() {
- return cust_level;
- }
- public void setCust_level(String cust_level) {
- this.cust_level = cust_level;
- }
- public String getCust_linkman() {
- return cust_linkman;
- }
- public void setCust_linkman(String cust_linkman) {
- this.cust_linkman = cust_linkman;
- }
- public String getCust_phone() {
- return cust_phone;
- }
- public void setCust_phone(String cust_phone) {
- this.cust_phone = cust_phone;
- }
- public String getCust_mobile() {
- return cust_mobile;
- }
- public void setCust_mobile(String cust_mobile) {
- this.cust_mobile = cust_mobile;
- }
- @Override
- public String toString() {
- return "Customer [cust_id=" + cust_id + ", cust_name=" + cust_name + "]";
- }
- }
3 orm元数据
- <!-- 配置表与实体的关系 -->
- <hibernate-mapping>
- <class name="www.test.domain.Customer" table="cst_customer">
- <id name="cust_id" column="cust_id">
- <generator class="native"></generator>
- </id>
- <property name="cust_name" column="cust_name"></property>
- <property name="cust_source" column="cust_source"></property>
- <property name="cust_industry" column="cust_industry"></property>
- <property name="cust_level" column="cust_level"></property>
- <property name="cust_linkman" column="cust_linkman"></property>
- <property name="cust_phone" column="cust_phone"></property>
- <property name="cust_mobile" column="cust_mobile"></property>
- </class>
- </hibernate-mapping>
4.书写主配置文件
- <?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>
- <!--
- #hibernate.dialect org.hibernate.dialect.MySQLDialect
- #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
- #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
- #hibernate.connection.driver_class com.mysql.jdbc.Driver
- #hibernate.connection.url jdbc:mysql:///test
- #hibernate.connection.username gavin
- #hibernate.connection.password
- -->
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <!-- /// 表示连接本机 -->
- <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password">root</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLMyISAMDialect</property>
- <!--
- #hibernate.show_sql true //打印生成的sql
- #hibernate.format_sql true //格式化sql 不格式都会在一行
- -->
- <property name="hibernate.show_sql">true</property>
- <property name="hibernate.format_sql">true</property>
- <!--
- ## auto schema export
- #hibernate.hbm2ddl.auto create-drop
- #hibernate.hbm2ddl.auto create
- #hibernate.hbm2ddl.auto update
- #hibernate.hbm2ddl.auto validate
- -->
- <property name="hibernate.hbm2ddl.auto">update</property>
- <mapping resource="www/test/domain/Customer.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
1 第一部分
- <!--
- #hibernate.dialect org.hibernate.dialect.MySQLDialect
- #hibernate.dialect org.hibernate.dialect.MySQLInnoDBDialect
- #hibernate.dialect org.hibernate.dialect.MySQLMyISAMDialect
- #hibernate.connection.driver_class com.mysql.jdbc.Driver
- #hibernate.connection.url jdbc:mysql:///test
- #hibernate.connection.username gavin
- #hibernate.connection.password
- -->
- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
- <!-- /// 表示连接本机 -->
- <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
- <property name="hibernate.connection.username">root</property>
- <property name="hibernate.connection.password">root</property>
- <property name="hibernate.dialect">org.hibernate.dialect.MySQLMyISAMDialect</property>
2 第二部分
- <!--
- #hibernate.show_sql true //打印生成的sql
- #hibernate.format_sql true //格式化sql 不格式都会在一行
- -->
- <property name="hibernate.show_sql">true</property>
- <property name="hibernate.format_sql">true</property>
- <!--
- ## auto schema export
- #hibernate.hbm2ddl.auto create-drop
- #hibernate.hbm2ddl.auto create
- #hibernate.hbm2ddl.auto update
- #hibernate.hbm2ddl.auto validate
- -->
- <property name="hibernate.hbm2ddl.auto">update</property>
3 第三部分
- <mapping resource="www/test/domain/Customer.hbm.xml"/>
5.书写代码测试
- package www.test.a_hello;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.Transaction;
- import org.hibernate.cfg.Configuration;
- import org.junit.Test;
- import www.test.domain.Customer;
- // 测试hibernate 框架
- public class Demo {
- @Test
- //保存客户
- public void fun1(){
- Configuration conf = new Configuration().configure();
- SessionFactory sessionFactory = conf.buildSessionFactory();
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- //-----------------
- Customer customer = new Customer();
- customer.setCust_name("百度公司");
- session.save(customer); //执行保存
- //--------------------
- tx.commit();
- session.close();
- sessionFactory.close();
- }
- }
hibernate框架的搭建的更多相关文章
- 【Hibernate】hibernate框架的搭建
1, Hibernate 是什么 Hibernate是java应用程序与数据库交互的开发的框架. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 ...
- Hibernate框架_搭建第一个Hibernate框架
一.eclipse搭建 A.创建动态web项目 New-->Dynamic web project(web project) B.导入jar包 1.数据库驱动包 2.hibernate开发必须j ...
- (01)hibernate框架环境搭建及测试
---恢复内容开始--- 1.创建javaweb项目 2.导包 hibernate包 hibernate\lib\required\*.jar 数据库驱动包 mysql-connector-java- ...
- hibernate框架的搭建与简单实现增删改
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...
- 【Spring】Spring+struts2+Hibernate框架的搭建
1.搭建过程 首先需要引入Spring.Struts2.Hibernate的开发包,已经数据库的驱动包. UserAction.java文件 package cn.shop.action; impor ...
- hibernate框架环境搭建与使用
搭建环境 一.新建一个项目 , 导包 一个是hibernate的jar包,一个是jdbc的jar包 hibernate的jar包 这些jar包全部导入 二.配置Hibernate. 1.建立hib ...
- SpringMVC+Hibernate框架快速搭建
1. 新建Maven项目springmvc 2. pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" ...
- hibernate框架搭建
hibernate框架的搭建步骤: 1.导包 2.创建数据库准备表 3.书写orm元数据(对象与表的映射配置文件) 4.书写配置文件 5.书写代码测试 一.导包: 创建web-maven工程添加hib ...
- Hibernate框架学习(一)——入门
一.框架是什么 1.框架是用来提高开发效率的 2.封装好了一些功能,我们需要使用这些功能时,调用即可,不需要手动实现 3.框架可以理解成一个半成品的项目,只要懂得如何驾驭这些功能即可 二.hibern ...
随机推荐
- 操作文件方法简单总结(File,Directory,StreamReader,StreamWrite ) - Zery-zhang
一 基本介绍 操作文档,文件夹,需要用到的类 1 Directory (静态类) : 用于创建.移动和删除等操作通过 目录 和子 目录 DirectoryInfo (非静态): 2 File ...
- 【大数据之数据仓库】安装部署GreenPlum集群
本篇将向大家介绍如何快捷的安装部署GreenPlum测试集群,大家可以跟着我一块儿实践一把^_^ 1.主机资源 申请2台网易云主机,操作系统必须是RedHat或者CentOS,配置尽量高一点.如果是s ...
- 3人从小公寓创业,到世界最大引擎公司,Unity创始人谈14年...
Unity创始人David Helgason出席了5月11 - 13日在上海举办的Unite 2017 Shanghai,并在大会期间接受了游戏陀螺的专访,动情地讲述了这14年来从3人在公寓创业,到成 ...
- 第十篇 requests模块
1.安装requests 要安装requests,在终端中输入以下命令即可安装: pip3 install requests 2.发送请求 使用requests发送请求首先需要导入requests模块 ...
- winform列标题高度无法改变
datagridview行为里把ColumnHeadersHeightSizeMode属性设置为EnableResizing 但好像会导致横向滚动条从底部跑到了中间,还不知道这个BUG的原因,将Col ...
- django中itsdangerous的用法
itsdangerous用来解决什么问题,为什么需要用到itsdangerous? 安装命令:pip install itsdangerous 有时候你想向不可信的环境发送一些数据,但如何安全完成这个 ...
- servlet 核心技术
servlet 核心技术 servlet 生命周期 在 servlet 生命周期中,servlet 容器完成加载 servlet 类和实例化一个 servlet 实例,并通过3个方法来完成生命周期中的 ...
- centos7用docker安装单节点redis4.0.11
[root@localhost conf]# docker search redisINDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATEDdocker.io d ...
- c语言数据结构学习心得——树
树 一对多的树型结构,有且只有一个特定的根结点. 结点的度:结点拥有子树的数量{ 度为0:叶子结点/终端结点. 度不为0:非终端结点/分支结点(除去根结点其它称为内部结点).} 树的度:树中所有结点的 ...
- 如何在UITableViewController上添加一个固定的视图
最近在使用UITableViewController,想在上面添加一个固定的视图,不随ScrollView滑动而移动.最后找到2种解决办法,一种是计算TableView的偏移,调整视图的位置,不断更新 ...