国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Eclipse下Hibernate入門(mén)
 Eclipse下Hibernate入門(mén)
最近boss讓做項(xiàng)目,借機(jī)學(xué)習(xí)了一下Hibernate,小有收獲。
     hiberante是對(duì)數(shù)據(jù)庫(kù)持久層訪(fǎng)問(wèn)的一種機(jī)制,hibernate的應(yīng)用可以使程序員將重點(diǎn)放到業(yè)務(wù)邏輯的實(shí)現(xiàn)上。hibernate的原理是將數(shù)據(jù)庫(kù)結(jié)構(gòu)封裝,使程序員可以像使用普通對(duì)象一樣調(diào)用數(shù)據(jù)庫(kù)的相關(guān)接口,從實(shí)現(xiàn)數(shù)據(jù)庫(kù)的相關(guān)操作。 
     
     由于Exadel基于eclipse集成了Hibernate,并且方便易用所以我選用 
     Exadel+Mysql
     還需要hibernate3.jar http://www.hibernate.org
             mysql-connector http://dev.mysql.com/downloads/
    
       在Mysql中新建test數(shù)據(jù)庫(kù)(Mysql其實(shí)有個(gè)空的test數(shù)據(jù)庫(kù)),然后新建下面的Table

 

create table user (
 id int(10) not null auto_increment primary key,
 name varchar(20) not null,
 password varchar(20) not null,
 email varchar(50),
 address varchar(100)
)type=innodb;

 

 


新建Java Project,將Mysql_Driver,Hibernate兩個(gè)user library添加到該工程的java build path中。

新建與數(shù)據(jù)表對(duì)應(yīng)的POJO類(lèi):User和Contact

/**
 * 
 *  
 */
package com.user;

/**
 * @author lzy
 *
 */
public class User{
    private Integer id;
    private String name;
    private String password;
    private Contact contact;
    

 /**
  * @return Returns the id.
  */
 public Integer getId() {
  return id;
 }
 /**
  * @param id The id to set.
  */
 public void setId(Integer id) {
  this.id = id;
 }
 /**
  * @return Returns the name.
  */
 public String getName() {
  return name;
 }
 /**
  * @param name The name to set.
  */
 public void setName(String name) {
  this.name = name;
 }
 /**
  * @return Returns the password.
  */
 public String getPassword() {
  return password;
 }
 /**
  * @param password The password to set.
  */
 public void setPassword(String password) {
  this.password = password;
 }
 /**
  * @return Returns the contact.
  */
 public Contact getContact() {
  return contact;
 }
 /**
  * @param contact The contact to set.
  */
 public void setContact(Contact contact) {
  this.contact = contact;
 }
    
    
}
/**
 * 
 */
package com.user;

/**
 * @author lzy
 *
 */
public class Contact {
 private String email;
    private String address;

 /**
  * @return Returns the address.
  */
 public String getAddress() {
  return address;
 }
 /**
  * @param address The address to set.
  */
 public void setAddress(String address) {
  this.address = address;
 }
 /**
  * @return Returns the email.
  */
 public String getEmail() {
  return email;
 }
 /**
  * @param email The email to set.
  */
 public void setEmail(String email) {
  this.email = email;
 }
}

添加Hibernate支持,這時(shí)系統(tǒng)會(huì)要求輸入一些信息,按提示即可
完成后系統(tǒng)自動(dòng)生成hibernate.cfg.xml,User.hbm.xml
映射文件必須稍作修改。

hibernate.cfg.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "‘ target=_blank>http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory >

  <!-- local connection properties -->
  <property name="hibernate.connection.url">jdbc:mysql://localhost/test</property>
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.username"></property>
  <property name="hibernate.connection.password"></property>
  <!-- property name="hibernate.connection.pool_size"></property -->

  <!-- dialect for MySQL -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <property name="hibernate.show_sql">True</property>
        <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
     <mapping resource="User.hbm.xml"/>


    </session-factory>
</hibernate-configuration>

User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<hibernate-mapping package="com.user">
 <class
  name="User"
  table="user"
 >
  <id
   name="Id"
   type="integer"
   column="id"
  >
   <generator class="native"/>
  </id>

  <property
   name="Name"
   column="name"
   type="string"
   not-null="true"
   length="20"
  />
  <property
   name="Password"
   column="password"
   type="string"
   not-null="true"
   length="20"
  />
  <component name="Contact" class="Contact">
   <property
   name="Email"
   column="email"
   type="string"
   not-null="false"
   length="50"
  />
  <property
   name="Address"
   column="address"
   type="string"
   not-null="false"
   length="100"
  />
  </component>
  


 </class> 
</hibernate-mapping>

 

3.測(cè)試 
添加一個(gè)測(cè)試類(lèi):HibernateTest

package com.user;

import java.util.List;
import java.util.ListIterator;

import org.hibernate.*;
import org.hibernate.cfg.*;

public class HibernateTest {
    public static void main(String[] args) throws HibernateException {
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        
        //
        //testInsert(sessionFactory);
        
        // 
        testQuery(sessionFactory);
        
          
        sessionFactory.close();
        
    }
    public static void testInsert( SessionFactory sessionFactory )throws HibernateException {
     
      Session session = sessionFactory.openSession();
        Transaction tx= session.beginTransaction();
        User user = new User();
        Contact contact=new Contact();
        contact.setEmail("email");
        contact.setAddress("address");
        
        user.setName("caterpillar");
        user.setPassword("password");
        user.setContact(contact);
        
        session.save(user);
        tx.commit();
        session.close();
        System.out.println("OK!");
   }
    
    public static void testQuery( SessionFactory sessionFactory )throws HibernateException {
     
     Session session = sessionFactory.openSession();
        Transaction tx= session.beginTransaction();
        User user = new User();
        Contact contact=new Contact();
                  
        Query query=session.createQuery("from User as user");
        //query.setCharacter(1, ‘M‘);
        List names =query.list();
        for(ListIterator it=names.listIterator();it.hasNext();){
           user= (User)it.next();
           System.out.println("Id: " + user.getId());
            System.out.println("name: " + user.getName());
            System.out.println("password: " + user.getPassword());
            if(user.getContact()!=null){
             
             if(user.getContact().getEmail()!=null){
              System.out.println("Email: " + user.getContact().getEmail());
             }
             if(user.getContact().getAddress()!=null){
              System.out.println("Address: " + user.getContact().getAddress());
                
             }
            }
            
            
            
        }
          
       
        tx.commit();
        session.close();
     
    }
}

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Hibernate Annotations 實(shí)戰(zhàn)
一個(gè)用myeclipse開(kāi)發(fā)hibernate的入門(mén)例子 - 我愛(ài)JAVA - BlogJ...
hibernate連接mysql示范
Hibernate 筆記2 關(guān)于配置文件和表映射
hibernate入門(mén)---uuid.hex生成方式【依據(jù)機(jī)器標(biāo)識(shí)等自生】【第二天】
Hibernate4.3.x Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服