zoukankan      html  css  js  c++  java
  • 第一个Hibernate程序

    一 新建一个Java工程(Hibernate)

      在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.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
            <property name="hibernate.connection.username">scott</property>
            <property name="hibernate.connection.password">Oracle11g</property>
        </session-factory>
    </hibernate-configuration>

    二 创建数据库表

    1 create table login(
    2 username varchar2(20),
    3 password varchar2(20)
    4 );

    三 创建持久化类及映射文件
      持久化类:

     1 package com.demo;
     2 
     3 public class Login {
     4 
     5     private String username;
     6     private String password;
     7     
     8     public String getUsername() {
     9         return username;
    10     }
    11     public void setUsername(String username) {
    12         this.username = username;
    13     }
    14     public String getPassword() {
    15         return password;
    16     }
    17     public void setPassword(String password) {
    18         this.password = password;
    19     }
    20     
    21 }

      映射文件:

     1 <?xml version="1.0"?>
     2 <!DOCTYPE hibernate-mapping PUBLIC 
     3     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     4     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
     5 
     6 <hibernate-mapping>
     7     <class name="com.demo.Login" table="LOGIN">
     8         <id name="username" type="java.lang.String">
     9             <column name="USERNAME" length="20"/>
    10             <generator class="assigned"/>
    11         </id>
    12         <property name="password" type="java.lang.String">
    13             <column name="PASSWORD" length="20" not-null="true"/>
    14         </property>    
    15     </class>
    16 </hibernate-mapping>

      从以上代码中可以看到对象与数据库表的对应关系。

      class 标签用户制定Login类与login表的映射。

      id 标签代表主键,也就是说username是唯一的并且不能为空。

        id 标签中的name表示Login类中的属性名称,type表示类型;column标签中的name表示数据库表中字段的名称。generator标签定义主键的生成方式,此处的设置表示主键是由应用程序分配的。

      property 标签中的内容表示Login类中与数据库表中其他字段的映射,如果还有其他字段,就需要再增加property标签。用于其他字段的标签配置与 id 标签基本类似,但是在这里有一个not-null属性,用来控制该字段是否为空。若值为true,则该字段不能为空,反之,则可以为空。

      添加完这个映射文件后,需要在hibernate.cfg.xml文件中添加这个映射文件的声明。也就是声明Login.hbm.xml是一个映射配置文件。此声明语句添加在<session-factory>的结束标签之前,如下所示:

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE hibernate-configuration PUBLIC 
     3     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     4         "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
     5 <hibernate-configuration>
     6     <session-factory>
     7         <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
     8         <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
     9         <property name="hibernate.connection.username">scott</property>
    10         <property name="hibernate.connection.password">Oracle11g</property>        
    11         <mapping resource="com/demo/Login.hbm.xml"/>
    12     </session-factory>
    13 </hibernate-configuration>

      至此,一个Hibernate项目就创建并配置完毕。

  • 相关阅读:
    js 对象合并
    python3 TypeError: 'str' does not support the buffer interface in python
    django rest framework 再撸体验
    linux shell输入重定向
    httpie 取代 curl
    wget 断点续传 & nginx文件服务器
    select2 demo
    vmare centos 6.8 minimal 无法上网
    protocol http not supported or disabled in libcurl apt-get
    python3 -pip
  • 原文地址:https://www.cnblogs.com/leny/p/4799621.html
Copyright © 2011-2022 走看看