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
0 Comments