hibernate基础入门-----j2ee学习日记

来源:互联网 发布:eva新剧场版知乎 编辑:程序博客网 时间:2024/05/18 02:29

1.myeclipse创建标准java工程,myeclipse添加hibernate支持。

2.选用hibernate3.1,只选核心,并生成hibernate.cfg.xml

3.更加数据表结构,按照javabean标准生成user类

public class user {private int id;private String uid;private String pw;private String email;public user(){}public user( int id, String uid, String pw, String email){this.id=id;this.uid=uid;this.pw=pw;this.email=email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUid() {return uid;}public void setUid(String uid) {this.uid = uid;}public String getPw() {return pw;}public void setPw(String pw) {this.pw = pw;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
4.编写对应user类的生成hibernate-mapping配置xml文件,命名为user.hbm.xml内容如下

<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC     "-//Hibernate/Hibernate Mapping DTD 3.0//EN"    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="user" table="user"><!-- 类和表对应 --><id name="id" column="id"><!-- 主键 --><generator class="assigned"/><!-- 主键生成策略,assigned表示由用户赋值 --></id><property name="uid"column="uid"/><property name="pw"column="pw"/><property name="email"column="email"/></class></hibernate-mapping>
5.将上面编写的user.hbm.xml文件在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="hbm2ddl.auto">update</property><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:odbc:mysqltest</property><property name="connection.username">root</property><property name="connection.driver_class">sun.jdbc.odbc.JdbcOdbcDriver</property><mapping resource="user.hbm.xml" /></session-factory></hibernate-configuration>

 编写主函数测试用例,内容如下

import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;public class htest {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubConfiguration conf=new Configuration().configure();SessionFactory sf = conf.buildSessionFactory();Session session = sf.openSession();///////////////////////插入数据///////////////////////////////user u0=new user(98,"123", "78","2@qq.com");Transaction bt = session.beginTransaction();//session.save(u);//添加新的记录,存在则报错。session.saveOrUpdate(u0);//如果存在即更新,没有则新加bt.commit();//hbm不能自动提交事务System.out.println("插入信数据完毕");session.close();//用完关闭session,否则查询也会报错。/////////////////////更新////////////////////////////////////session = sf.openSession();u0.setUid("测试");bt = session.beginTransaction();session.update(u0);bt.commit();//hbm不能自动提交事务session.close();//用完关闭session,否则查询也会报错。System.out.println("更新数据完毕");////////////////////查询一条数据,如果有多条数据也会报错/////////session = sf.openSession();user u1=new user();session.load(u1, 98);System.out.println(u1.getId());System.out.println(u1.getEmail());System.out.println(u1.getUid());session.close();//用完关闭session,否则查询也会报错。//////////////////////删除////////////////////////////////////session = sf.openSession();bt = session.beginTransaction();session.delete(u0);bt.commit();//hbm不能自动提交事务session.close();//用完关闭session,否则查询也会报错。System.out.println("删除数据完毕");}}




0 0
原创粉丝点击