关于Hibernate一点体会

王朝java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

最近开始狂看Hibernate,发觉很有看头,要彻底了解其运作还是需要一定时日。

记录最简单的操作吧

数据库

CREATE TABLE manager (

id integer primary key DEFAULT nextval('serial'::text) NOT NULL,

name character varying(20) NOT NULL,

"password" character varying(20)

);

map文件

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 2.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >

<hibernate-mapping>

<class name="Manager" table="manager">

<id name="id" type="java.lang.Integer" column="id">

<generator class="sequence">

<param name="sequence">manager_id_serial</param>

</generator>

</id>

<property

name="name"

type="java.lang.String"

column="name"

length="20"

>

<meta attribute="scope-get">private</meta>

<meta attribute="scope-set">private</meta>

<meta attribute="beans-property-type">constrained</meta>

</property>

<property

name="password"

type="java.lang.String"

column="password"

length="20"

/>

</class>

</hibernate-mapping>

插入数据

import net.sf.hibernate.*;

import net.sf.hibernate.cfg.*;

public class InsertData {

public static void main(String[] args) {

try {

SessionFactory sf =

new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

for (int i = 1; i < 10; i++) {

Manager m = new Manager();

m.setName("Name" + i);

m.setPassword("Password");

session.save(m);

}

tx.commit();

session.close();

} catch (HibernateException e) {

e.printStackTrace();

}

}

}

更新数据

public class UpdateData {

/*

delete data

*/

public static void main(String[] args) {

try {

SessionFactory sf =

new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

//String m = "Name0";

Manager m1 = new Manager();

m1.setId(1);

m1.setName("lanhuizi");

m1.setPassword("Nothing");

session.update(m1);

tx.commit();

session.close();

} catch (HibernateException e) {

System.out.println("error");

}

}

}

删除数据

public class DeleteData {

/*

delete data

*/

public static void main(String[] args) {

try {

SessionFactory sf =

new Configuration().configure().buildSessionFactory();

Session session = sf.openSession();

Transaction tx = session.beginTransaction();

//String m = "Name0";

Manager m1 = new Manager();

m1.setId(1);

session.delete(m1);

tx.commit();

session.close();

} catch (HibernateException e) {

e.printStackTrace();

}

}

}

以上只是简单的操作,应该有更好的实现方法,批量删除,批量更新尤其是这样。

路漫漫啊

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有