zoukankan      html  css  js  c++  java
  • 大师养成计划之二:hibernate框架的使用------实例演示

    搭建hibernate项目框架的步骤:

    一、导入jar包

    二、new    .cfg.xml配置文件

     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     
     8         <!-- hibernate的基本信息 -->
     9         <property name="connection.username">root</property>
    10         <property name="connection.password">root</property> 
    11         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    12         <property name="connection.url">jdbc:mysql:///hibernate</property>
    13     
    14         <!-- hibernate的基本配置 -->
    15         
    16         <!-- hibernate使用的数据库方言 -->
    17         <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
    18         
    19         <!-- 运行时是否打印sql语句 -->
    20         <property name="show_sql">true</property>
    21         
    22         <!-- 运行时是否格式化sql -->
    23         <property name="format_sql">true</property>
    24         
    25         <!-- 生成数据表的策略  这里是更新-->
    26         <property name="hbm2ddl.auto">update</property>
    27         
    28         <!-- 设置hibernate的事务隔离级别 -->
    29         <property name="connection.isolation">2</property>
    30         
    31         <!-- 配置c3p0数据源 -->
    32         <property name="hibernate.c3p0.max_size">10</property>
    33         <property name="hibernate.c3p0.min_size">5</property>
    34         <property name="hibernate.c3p0.acquire_increment">2</property>
    35         <property name="hibernate.c3p0.timeout">2000</property>
    36         <property name="hibernate.c3p0.acquire_increment">2000</property>
    37         <property name="c3p0.max_statements">10</property>
    38         
    39         <!--@里的内容对于mysql是无效的,对于oracle是有效的 -->
    40         <!--@ 设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数 -->
    41         <property name="hibernate.jdbc.fetch_size">100</property>
    42         
    43         <!-- @设定对数据库进行批量删除,批量更新和批量插入的时候的批次大小 -->
    44         <property name="jdbc.batch_size">30</property>
    45         
    46         
    47         <!-- 需要关联的hibernate映射文件 .hbm.xml -->
    48         <mapping resource="entities/News.hbm.xml"/>
    49         
    50     </session-factory>
    51 </hibernate-configuration>

    三、new 实体类 

     1 package entities;
     2 
     3 import java.util.Date;
     4 
     5 /**
     6  * @author zxN
     7  * @version 创建时间:2016年1月3日 下午2:13:57
     8  * 类说明
     9  */
    10 class News {
    11     private Integer id;
    12     private String title;
    13     private String author;
    14     private Date date;
    15     public News() {
    16         super();
    17         // TODO Auto-generated constructor stub
    18     }
    19     public News( String title, String author, Date date) {
    20         super();
    21     
    22         this.title = title;
    23         this.author = author;
    24         this.date = date;
    25     }
    26     public Integer getId() {
    27         return id;
    28     }
    29     public void setId(Integer id) {
    30         this.id = id;
    31     }
    32     public String getTitle() {
    33         return title;
    34     }
    35     public void setTitle(String title) {
    36         this.title = title;
    37     }
    38     public String getAuthor() {
    39         return author;
    40     }
    41     public void setAuthor(String author) {
    42         this.author = author;
    43     }
    44     public Date getDate() {
    45         return date;
    46     }
    47     public void setDate(Date date) {
    48         this.date = date;
    49     }
    50     @Override
    51     public String toString() {
    52         return "News [id=" + id + ", title=" + title + ", author=" + author
    53                 + ", date=" + date + "]";
    54     }
    55     
    56     
    57 }

    四、new 实体类的 hbm.xml文件

     1 <?xml version="1.0"?>
     2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     4 <!-- Generated 2015-12-24 15:32:00 by Hibernate Tools 3.4.0.CR1 -->
     5 <!-- hbm.xml -->
     6 <hibernate-mapping package="entities">
     7     <class name="entities.News" table="NEWS">
     8         <id name="id" type="java.lang.Integer">
     9             <!-- 列名 -->
    10             <column name="ID" />
    11             <!-- 设置主键为自动增长 -->
    12             <generator class="native"/>
    13         </id>
    14         <property name="title" type="java.lang.String">
    15             <column name="TITLE" />
    16         </property>
    17         <property name="author" type="java.lang.String">
    18             <column name="AUTHOR" />
    19         </property>
    20         <property name="date" type="java.util.Date">
    21             <column name="DATE" />
    22         </property>
    23         
    24         
    25          <!-- 映射大对象 -->
    26         <!-- 若希望精确映射SQL类型,可以使用sql-type属性 -->
    27         <property name="content" >
    28             <column name="CONTENT" sql-type="mediumtext"></column>
    29         </property>
    30         
    31         <property name="image" type="blob">
    32             <column name="IMAGE" sql-type="mediumblob"></column>
    33         </property>
    34     </class>
    35 </hibernate-mapping>

    在这个文件里,设置主键的方式,若为自动递增的,应设置为native

    并将这个文件关联到cfg.xml里边去(PS:路径前面不要有斜线!!!)

    五、新建junit测试类

  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/zx-n/p/5181153.html
Copyright © 2011-2022 走看看