hibernate入门--实现数据简单插入

原创 2018年04月15日 14:37:57

hibernate实现数据的简单插入

项目目录结构:

第一步:先建一张数据表Company

  1. /*  
  2. Navicat MySQL Data Transfer  
  3.   
  4. Source Server         : localhost_3306  
  5. Source Server Version : 50051  
  6. Source Host           : localhost:3306  
  7. Source Database       : hibernate  
  8.   
  9. Target Server Type    : MYSQL  
  10. Target Server Version : 50051  
  11. File Encoding         : 65001  
  12.   
  13. Date: 2017-04-20 18:57:04  
  14. */  
  15.   
  16. SET FOREIGN_KEY_CHECKS=0;  
  17.   
  18. -- ----------------------------  
  19. -- Table structure for `company`  
  20. -- ----------------------------  
  21. <span style="color:#ff6666;">DROP TABLE IF EXISTS `company`;  
  22. CREATE TABLE `company` (  
  23.   `id` int(3) NOT NULL auto_increment,  
  24.   `namevarchar(10) NOT NULL,  
  25.   `url` varchar(50) NOT NULL,  
  26.   `creation_date` date NOT NULL,  
  27.   PRIMARY KEY  (`id`)  
  28. ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;  
  29.   
  30. </span>-- ----------------------------  
  31. -- Records of company  
  32. -- ----------------------------  
  33. INSERT INTO `company` VALUES ('2''华软''http://home.sise.cn/''2017-04-20');  

第二步:创建Company.java持久化类

[java] view plain copy
  1. package com.hbp;  
  2.   
  3. import java.util.Date;  
  4. //创建Company持久化类  
  5. public class Company {  
  6.     private String url;  
  7.     private int id;  
  8.     private String name;  
  9.     private Date createDate;  
  10.     public String getUrl() {  
  11.         return url;  
  12.     }  
  13.     public void setUrl(String url) {  
  14.         this.url = url;  
  15.     }  
  16.     public int getId() {  
  17.         return id;  
  18.     }  
  19.     public void setId(int id) {  
  20.         this.id = id;  
  21.     }  
  22.     public String getName() {  
  23.         return name;  
  24.     }  
  25.     public void setName(String name) {  
  26.         this.name = name;  
  27.     }  
  28.     public Date getCreateDate() {  
  29.         return createDate;  
  30.     }  
  31.     public void setCreateDate(Date createDate) {  
  32.         this.createDate = createDate;  
  33.     }  
  34.       
  35. }  


第三步:创建对象-关系映射文件Company.hbm.xml

[html] view plain copy
  1. <?xml version="1.0"?>  
  2. <!DOCTYPE hibernate-mapping PUBLIC  
  3.     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
  4.     "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
  5. <hibernate-mapping package="com.hbp">  
  6.     <class name="Company">  
  7.         <id name="id" column="id">  
  8.             <generator class="increment"></generator>  
  9.         </id>  
  10.         <property name="name" column="name"></property>  
  11.         <property name="url" column="url"></property>  
  12.         <property name="createDate" column="creation_date"></property>  
  13.     </class>  
  14. </hibernate-mapping>  


第四步:创建主函数InsertCompany.java,插入数据

[java] view plain copy
  1. package com.hbp;  
  2.   
  3. import java.util.Date;  
  4.   
  5. import org.hibernate.Session;  
  6. import org.hibernate.SessionFactory;  
  7. import org.hibernate.Transaction;  
  8. import org.hibernate.cfg.Configuration;  
  9.   
  10. //持久化数据  
  11. public class InsertCompany {  
  12.     public static void main(String[] args) {  
  13.         //创建一个Company  
  14.         Company company=new Company();  
  15.         company.setName("华软");  
  16.         company.setUrl("www.sise.com");  
  17.         company.setCreateDate(new Date());  
  18.           
  19.         //根据hibernate配置文件的配置信息,创建一个configuration实例  
  20.         Configuration configuration=new Configuration().configure();  
  21.         //创建SessionFactory实例  
  22.         SessionFactory sessionFactory=configuration.buildSessionFactory();  
  23.         //获取一个全新的session对象  
  24.         Session session=sessionFactory.openSession();  
  25.         //创建一个事务  
  26.         Transaction transaction=null;  
  27.         try {  
  28.             //用session开启事务进行数据插入  
  29.             transaction=session.beginTransaction();  
  30.             session.save(company);  
  31.             //提交事务  
  32.             transaction.commit();  
  33.         } catch (Exception e) {  
  34.             //如果数据插入失败这回滚到初始化状态  
  35.             if(transaction!=null){  
  36.                 transaction.rollback();  
  37.                 e.printStackTrace();  
  38.             }  
  39.         }finally{  
  40.             //记得最后关闭session  
  41.             session.close();  
  42.         }  
  43.           
  44.     }  
  45. }  



第五步:创建Hibernate.cfg.xml配置文件(数据源配置)

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE hibernate-configuration PUBLIC  
  3.         "-//Hibernate/Hibernate Configuration DTD 3.0//EN"  
  4.         "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
  5. <hibernate-configuration>  
  6.     <session-factory>  
  7.         <!-- mysql数据库驱动程序 -->  
  8.         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  
  9.         <!-- 数据库用户密码 -->  
  10.         <property name="hibernate.connection.password">root</property>  
  11.         <!-- 数据库 -->  
  12.         <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate</property>  
  13.         <!-- 数据库用户名 -->  
  14.         <property name="hibernate.connection.username">root</property>  
  15.         <!-- 数据库方言 -->  
  16.         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>  
  17.         <!-- 在控制台输出数据库查询语句 -->  
  18.         <property name="hibernate.show_sql">true</property>  
  19.         <!-- 输出格式化的数据库查询语句,方便阅读 -->  
  20.         <property name="hibernate.format_sql">true</property>  
  21.      <!-- 映射表 -->  
  22.    <mapping resource="com/hbp/Company.hbm.xml"/>  
  23.     </session-factory>  
  24. </hibernate-configuration>  

注意:是<mapping resource="com/hbp/Company.hbm.xml"/>而不是<mapping resource="com.hbp/Company.hbm.xml"/>

第五步:running



代码下载:http://download.csdn.net/detail/qq_34271119/9820604

Hibernate 简单入门讲解一(简单的数据插入讲解)

  • 2008年11月22日 10:59
  • 13.47MB
  • 下载

Spring+Struts2+Hibernate+MySQL框架整合开发完整的java WEB增删改查实例

  • 2016年08月16日 15:38
  • 13.33MB
  • 下载

Hibernate学习笔记(一)——简单的Hibernate实例入门

一、Hibernate简介 Hibernate是一个开源的对象/关系映射(ORM)框架,它对JDBC进行了轻量级的封装。所谓ORM就是Object/Relationship Mapping,为什么要...
  • u011024652
  • u011024652
  • 2016-09-19 20:32:59
  • 1653

hibernate入门--实现简单的数据查询

hibernate入门--实现简单的数据查询目录结构;: 第一步:新建数据库hibernate,再新建数据表Company /* Navicat MySQL Data Transfer Sou...
  • qq_34271119
  • qq_34271119
  • 2017-04-20 19:48:09
  • 473

Hibernate 插入主键自增的一条数据

Hibernate 插入主键自增的一条数据
  • u012079603
  • u012079603
  • 2015-01-21 10:57:10
  • 1490

第一个hibernate5.1.0--向数据库中插入一条数据

首先,新建好一个数据库hibernate; 在这个数据库中创建一个表student,指定好主键,还有其余几列:create table student(id int primary key,name...
  • nuisthou
  • nuisthou
  • 2016-04-11 21:23:31
  • 2297

hibernate的unique与数据的重复添加

hibernate的unique,在生成DDL语句时起作用,在已经有了数据库的情况下是不起作用的。该unique配置属性在hibernate 添加修改数据时,不起作用(在运行时hibernate不会校...
  • forandever
  • forandever
  • 2009-07-15 13:05:00
  • 2768

hibernate批量数据插入优化 ------用Hibernate插入1万条数据,怎么做,有什么好的优化方法吗

Hibernate批量处理: Hibernate批量处理其实从性能上考虑,它是很不可取的,浪费了很大的内存。从它的机制上讲,Hibernate它是先把符合条件的数据查出来,放到内存当中,然后再...
  • wenzhihui_2010
  • wenzhihui_2010
  • 2014-02-13 17:10:22
  • 3735

hibernate级联操 同时向2张表插入数据(一对多的关联,一个简单的例子说明)

一、在emp配置中和dept配置中要同时维护好多对一和一对多的关系。        Emp部门表中有个属性是将dept这个对象作为属性的。        在dept中是有一个hashSet...
  • pwh309315228
  • pwh309315228
  • 2017-02-08 16:28:40
  • 3641

hibernate注解实现级联新增

摘要:如题,简单记一下,ssh框架中,使用注解形式,怎么级联新增主外键关联表数据一、前期准备:1.创建工程,导入ssh框架及数据源的相关jar包;2.创建和数据库有关的properties文件,该文件...
  • qq_36769100
  • qq_36769100
  • 2018-03-22 16:47:02
  • 50
收藏助手
不良信息举报
您举报文章:hibernate入门--实现数据简单插入
举报原因:
原因补充:

(最多只允许输入30个字)