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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40285302/article/details/79949184

hibernate实现数据的简单插入

项目目录结构:

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

[sql] view plain copy

  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

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页