• notice
  • Congratulations on the launch of the Sought Tech site

Hibernate Connects to MySQL

Today I used java's database persistence-business hibernate framework.The following is an example of hibernate connection mysql database

The table structure is as follows

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 configuration file 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">username here</property>
<property name="connection.password">password</property>
<mapping resource="user.hbm.xml"/>
</session-factory>
</hibernate-configuration>

Table mapping 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>

Table mapping class

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;
}
}

Test class

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 {
          
   //traverse
    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);
        }
    }
          
   //read
    public static void load()
    {
        TestDb obj=(TestDb) session.load(TestDb.class, new Long(2));
        System.out.println(obj.getUsername());
    }
          
   //renew  
    public static void update()
    {
        TestDb obj=(TestDb) session.load(TestDb.class, new Long(2));
        obj.setUsername("cg");
    }
          
   //insert
    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();
    }
}

File structure

Tags

Technical otaku

Sought technology together

Related Topic

0 Comments

Leave a Reply

+