hibernate的增删改查和三种状态

来源:互联网 发布:真丝睡衣 知乎 编辑:程序博客网 时间:2024/05/29 09:07

package com.lanou.hibernate;


import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;


import com.lanou.hibernate.bean.User;


//游离——>临时delete()   ->持久update->临时状态(delete)

public class TestMain{

public static void main(String[]args) {

Configurationconfig;

SessionFactorysf;

Sessionsession;

Transactiontx =null;

try{

config= newConfiguration().configure();

sf= config.buildSessionFactory();

session= sf.openSession();

tx= session.beginTransaction();

Useryufei =session.get(User.class,8);

Useruser =session.get(User.class,8);

yufei.setUsername("888");

System.out.println(user.getUsername());

             

/*---------------------------三种状态----------------------------------*/

/*

* User user = new User(); // 临时状态下 // 当一个数据没有id时,处于临时状态

* user.setUsername("malijie");

* user.setPwd("meiyouchijiuzhuangtai");

* 

* // session.update(user); // 增和放一块,先根据id查找,要是有就更新

* session.saveOrUpdate(user); // 持久状态下 持久状态下的内容时刻和数据库绑定在一起

* 

* System.out.println(user.getId()); user.setPwd("3miaozhong");

* tx.commit(); // 脱管态 /游离状态 和数据库没有紧密联系,不归transcation管理 ,事务提交后

* user.setPwd("aaaaaa");

* /*-----------------------------------增、删、改、查---------------------

* -------------------------------------

*/

// 使用hibernate添加一条数据的 过程

// User user=new User();

// user.setUsername("cuixuefei");

// user.setPwd("123");

//

// User user1=new User();

// user1.setUsername("xuweibing");

// user1.setPwd("455");

// session.save(user);

// int a=1/0;

// session.save(user1);

// 使用hibernate查找一条数据的过程

// User user=session.get(User.class, 1); //load 可以报错 get数据库没有值返回空

// 持久态

// if(user!=null){

// System.out.println(user.getId()+" "+user.getUsername()+"

// "+user.getPwd());

// }

// 使用hibernate删除一条内容

// User user = new User();

// user.setId(3);

// session.delete(user);

// User user = new User();

// user.setId(1);

// user.setUsername("uuu");

// user.setPwd("999");

// session.update(user);

// tx.commit();

}catch (Exceptione) {

e.printStackTrace();

tx.rollback();

}


System.exit(0);


// // 装配着模式 configure() 为了加载配置文件

// Configuration cfg = new Configuration().configure();

// // 创建sessionfactory工厂

// SessionFactorysf = cfg.buildSessionFactory();

// // 系统和数据库的会话

// Session session = sf.openSession();

// // 事务:Transaction

// // 一致性

// // 打开一个事务

// Transaction tx = session.beginTransaction();

// // 执行数据库动作

//

// User user=new User();

// user.setUsername("wangyu");

// user.setPwd("123456");

// //保存数据

// session.save(user);

//

//

// //事务提交

// tx.commit();

// //事务回滚 失败

// // tx.rollback();

// System.out.println("数据库链接成功!");

}

}

user.hbm.xml

<?xmlversion="1.0"encoding="UTF-8"?>


<!DOCTYPEhibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<!-- 映射实体类 -->

   <class name="com.lanou.hibernate.bean.User" table="tb_user">

     <id name="id" >

       <!--id的生成规则  -->

        <generatorclass="native"></generator>

     </id>

       <propertyname="username" ></property>

       <propertyname="pwd"  ></property>

   </class>


</hibernate-mapping>