程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> hibernate連接mysql的例子

hibernate連接mysql的例子

編輯:關於JAVA

今天用了一下java的數據庫持久化-業務的hibernate框架。下面給出hibernate 連接mysql數據庫示例

建表結構如下

mysql> desc test;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(11)      | NO   | PRI | NULL    | auto_increment |
| username | varchar(100) | NO   |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql>

hibernate配置文件 hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>  
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  
<hibernate-configuration>  
<session-factory>  
<property name="show_sql">true</property>  
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>  
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
<property name="connection.url">jdbc:mysql://192.168.25.152/test</property>  
<property name="connection.username">這裡寫用戶名</property>  
<property name="connection.password">密碼</property>  
<mapping resource="user.hbm.xml" />  
</session-factory>  
</hibernate-configuration>

表映射 user.hbm.xml

<?xml version='1.0' encoding='UTF-8'?>  
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
<hibernate-mapping>  
<class name="com.TestDb" table="test">  
    <id name="id" column="id">  
        <generator class="increment" />  
    </id>  
    <property name="username" column="username"  />  
</class>  
</hibernate-mapping>

表映射類

package com;  
      
/** 
* Created by IntelliJ IDEA. 
* User: Administrator 
* Date: 2006-2-6 
* Time: 22:10:05 
* To change this template use File | Settings | File Templates. 
*/
public class TestDb {  
private String username;  
private Long id;  
      
public Long getId() {  
return id;  
}  
      
public void setId(Long id) {  
this.id = id;  
}  
      
public String getUsername() {  
return username;  
}  
      
public void setUsername(String myname) {  
this.username = myname;  
}  
}

測試類

package com;  
      
      
import java.util.List;  
      
import org.hibernate.Query;  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.Transaction;  
import org.hibernate.cfg.Configuration;  
      
public class test {  
          
    //遍歷  
    public static void all()  
    {  
        Query q = session.createQuery("select c.id,c.username from TestDb as c");  
              
        List l = q.list();  
        for(int i=0;i<l.size();i++)  
        {  
            //TestDb user = (TestDb)l.get(i);  
            //System.out.println(user.getUsername());  
      
              Object[] row = (Object[])l.get(i);;  
              Long id = (Long)row[0];  
              String name = (String)row[1];    
              System.out.println(id+" "+name);  
        }  
    }  
          
    //讀取  
    public static void load()  
    {  
        TestDb obj = (TestDb) session.load(TestDb.class, new Long(2));  
        System.out.println(obj.getUsername());  
    }  
          
    //更新  
    public static void update()  
    {  
        TestDb obj = (TestDb) session.load(TestDb.class, new Long(2));  
        obj.setUsername("cg");  
    }  
          
    //插入  
    public static void insert()  
    {  
        TestDb user = new TestDb();  
        user.setUsername("sb");  
      
        session.save(user);  
    }  
          
    static SessionFactory sessionFactory;  
    static Session session ;  
    static Transaction tx ;  
          
    private static void init()  
    {  
        sessionFactory = new Configuration().configure().buildSessionFactory();  
        session = sessionFactory.openSession();  
        tx = session.beginTransaction();  
    }  
          
    private static void close()  
    {  
        tx.commit();  
        session.close();  
        sessionFactory.close();  
    }  
          
    public static void main(String[] args)   
    {  
        init();  
        update();  
        close();  
    }  
}

文件結構

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved