• 简单的使用hibernate插入数据的例子


    数据库创建脚本:

    1. drop table person  
    2.   
    3. create table person(  
    4.     id          varchar(32)         not null primary key,  
    5.     name        varchar(20)         not null,  
    6.     password    varchar(20)         not null,  
    7.     sex         varchar(20)         ,  
    8.     email       varchar(30)           
    9. )  



    Person类

    1. package org.lz.hibernate;  
    2.   
    3. public class Person { //POJO类  
    4.     private String id;  
    5.     private String name;  
    6.     private String password;  
    7.     private String sex;  
    8.     private String email;  
    9.       
    10.     public String getId() {  
    11.         return id;  
    12.     }  
    13.     public void setId(String id) {  
    14.         this.id = id;  
    15.     }  
    16.     public String getName() {  
    17.         return name;  
    18.     }  
    19.     public void setName(String name) {  
    20.         this.name = name;  
    21.     }  
    22.     public String getPassword() {  
    23.         return password;  
    24.     }  
    25.     public void setPassword(String password) {  
    26.         this.password = password;  
    27.     }  
    28.     public String getSex() {  
    29.         return sex;  
    30.     }  
    31.     public void setSex(String sex) {  
    32.         this.sex = sex;  
    33.     }  
    34.     public String getEmail() {  
    35.         return email;  
    36.     }  
    37.     public void setEmail(String email) {  
    38.         this.email = email;  
    39.     }  
    40.   
    41. }  

    PersonOperator类:

    1. package org.lz.hibernate;  
    2.   
    3. import org.hibernate.Session;  
    4. import org.hibernate.SessionFactory;  
    5. import org.hibernate.Transaction;  
    6. import org.hibernate.cfg.Configuration;  
    7.   
    8. public class PersonOperator {  
    9.     private Session session = null;  
    10.     public PersonOperator() {  
    11.         Configuration config = new Configuration();  
    12.         SessionFactory factory = config.configure().buildSessionFactory();  
    13.         this.session = factory.openSession();  
    14.     }  
    15.     // 所有的操作都是通过session来完成的  
    16.     public void PersonInsert(Person p) {  
    17.         Transaction tran = this.session.beginTransaction();//开始事物  
    18.         this.session.save(p);//执行  
    19.         tran.commit();//提交  
    20.     }  
    21. }  

    测试方法:

    1. package org.lz.hibernate;  
    2.   
    3. public class TestPO {  
    4.   
    5.       
    6.     public static void main(String[] args) {  
    7.           
    8.         Person p = new Person();  
    9.         p.setId("1");  
    10.         p.setName("root");  
    11.         p.setPassword("123456");  
    12.         p.setSex("男");  
    13.         p.setEmail("163@163.com");  
    14.           
    15.         //通过实例化的Person对象插入数据  
    16.         PersonOperator po = new PersonOperator();  
    17.         po.PersonInsert(p);  
    18.   
    19.     }  
    20.   
    21. }  


    配置文件:

    person.hbm.xml:

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
    3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
    4. <!--  
    5.     Mapping file autogenerated by MyEclipse Persistence Tools 
    6. -->  
    7. <hibernate-mapping>  
    8.     <class name="org.lz.hibernate.Person" table="PERSON" schema="SCOTT">  
    9.         <id name="id" type="java.lang.String">  
    10.             <column name="ID" length="32" />  
    11.             <generator class="assigned" />  
    12.         </id>  
    13.         <property name="name" type="java.lang.String">  
    14.             <column name="NAME" length="20" not-null="true" />  
    15.         </property>  
    16.         <property name="password" type="java.lang.String">  
    17.             <column name="PASSWORD" length="20" not-null="true" />  
    18.         </property>  
    19.         <property name="sex" type="java.lang.String">  
    20.             <column name="SEX" length="20" />  
    21.         </property>  
    22.         <property name="email" type="java.lang.String">  
    23.             <column name="EMAIL" length="30" />  
    24.         </property>  
    25.     </class>  
    26. </hibernate-mapping>  


    hibernate.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.   
    6. <!-- Generated by MyEclipse Hibernate Tools.                   -->  
    7. <hibernate-configuration>  
    8.   
    9. <session-factory>  
    10.     <property name="dialect">  
    11.         org.hibernate.dialect.Oracle9Dialect  
    12.     </property>  
    13.     <property name="connection.url">  
    14.         jdbc:oracle:thin:@127.0.0.1:1521:ORCL  
    15.     </property>  
    16.     <property name="connection.username">scott</property>  
    17.     <property name="connection.password">tiger</property>  
    18.     <property name="connection.driver_class">  
    19.         oracle.jdbc.driver.OracleDriver  
    20.     </property>  
    21.     <property name="myeclipse.connection.profile">  
    22.         OracleDriver  
    23.     </property>  
    24.     <property name="show_sql">true</property>  
    25.     <mapping resource="org/lz/hibernate/Person.hbm.xml" />  
    26.   
    27. </session-factory>  
    28.   
    29. </hibernate-configuration>  
    魔由心生,有万境纵横,无一道清静,无量寿佛!
  • 相关阅读:
    iOS开发-UIColor和UIImage之间的转换
    iOS开发-给用户好的印象
    iOS开发之国际化(本地化)
    git学习之创建分支和合并分支
    iOS设置StatusBar字体颜色问题
    iOS开发技巧,细节(二)
    iOS开发,[NSBundle mainBundle] pathForResource方法返回空的问题解决
    【MM MRP】PA-SCM525 Unit2 Lot-Size$Rounding Profile(MRP_2)
    【MM MRP】PA-I (MRP_1)
    【MM 发票】MM MIRO界面中的ITEM LIST的布局可自己定义(转)
  • 原文地址:https://www.cnblogs.com/qihuan/p/4241762.html
Copyright © 2020-2023  润新知