您的位置:首页 > 数据库 > MySQL

hibernate-MySQL配置文件及简单应用(CRUD)

2008-10-16 14:24 549 查看
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">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="connection.url">
jdbc:mysql://localhost:3306/sky
</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">MySQL</property>
<property name="connection.username">root</property>
<property name="connection.password">sky</property>

<property name="show_sql">true</property>

<mapping resource="test/hibernate/User.hbm.xml" />

</session-factory>

</hibernate-configuration>

User.hbm.xml 配置如下 User为映射类

<?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">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-mapping>

<class name="test.hibernate.User" table="user">
<id name="id" column="id" type="int">
<generator class="increment" />
</id>
<property name="name" column="name" type="string"
not-null="true" />
<property name="password" column="password" type="string"
not-null="true" />
</class>

</hibernate-mapping>

映射类User

package test.hibernate;

public class User
{
private int id;
private String name;
private String password;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password = password;
}
}

DAO类

package test.hibernate;

import java.util.*;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

public class TestUser
{
public static SessionFactory sessionFactory;// 数据存储源
static
{
try
{
Configuration config = new Configuration().configure();
sessionFactory = config.buildSessionFactory();
}
catch (Exception e)
{
System.err.println("===================error===================");
e.printStackTrace();
System.err.println("===================error===================");
}
}

public void saveUser(User user)
{
Session session = sessionFactory.openSession();
Transaction tx = null;
try
{
tx = session.beginTransaction();
session.save(user);
tx.commit();
}
catch (Exception e)
{
tx.rollback();
e.printStackTrace();
}
finally
{
session.close();
}
}

@SuppressWarnings("unchecked")
public void findAll()
{
Session session = sessionFactory.openSession();
Transaction tx = null;
try
{
tx = session.beginTransaction();
Query query = session.createQuery("from User as u order by u.id asc");
List<User> list = query.list();
Iterator<User> it = list.iterator();
System.out.println("append:" + list.size());
while (it.hasNext())
{
User user = it.next();
System.out.println("ID:" + user.getId());
System.out.println("Name:" + user.getName());
System.out.println("Pass:" + user.getPassword());
}
tx.commit();
}
catch (Exception e)
{
tx.rollback();
}
finally
{
session.close();
}
}

@SuppressWarnings("unchecked")
public User getUser(String User_id)
{
Session session = sessionFactory.openSession();
Transaction tx = null;
User user = null;
try
{
tx = session.beginTransaction();
Query query = session.createQuery("from User where id = " + User_id);
List<User> list = query.list();
Iterator<User> it = list.iterator();
while (it.hasNext())
{
user = it.next();
}
tx.commit();
}
catch (Exception e)
{
tx.rollback();
}
finally
{
session.close();
}
return user;
}

public void loadUpdate(int User_id, String name)
{
Session session = sessionFactory.openSession();
Transaction tx = null;
try
{
tx = session.beginTransaction();
User user = (User) session.load(User.class, User_id);
user.setName(name);
tx.commit();
}
catch (Exception e)
{
if (tx != null)
{
tx.rollback();
}
e.printStackTrace();
}
finally
{
session.close();
}

}

public void delUser(User user) {
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();// 开始一个事务
session.delete(user);
tx.commit();// 提交
}

public void test()
{
// User user = new User();
// user.setName("sky");
// user.setPassword("123");
// this.saveUser(user);
this.findAll();
// this.loadUpdate(user.getId(),"phop");
// User user = this.getUser("3");
// this.delUser(user);
}

public static void main(String[] args)
{
TestUser tu = new TestUser();
tu.test();
sessionFactory.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: