Hibernate的基本操作数据库,增加,修改,删除,查询

首先要创建实体类 Student.java

 

package star.july.a_session;
public class Student {
          private int id;
          private String name;
          private String gender;
          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 getGender() {
                   return gender;
          }
          public void setGender(String gender) {
                   this.gender = gender;
          }
          @Override
          public String toString() {
                   return "Student [id=" + id + ", name=" + name + ", gender=" + gender
                                      + "]";
          }
          
          
}


然后配置xml:Student.hbm.xml

 

 

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
          "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
          
<hibernate-mapping>
                   <class name="star.july.a_session.Student" table="t_user">
                             <id name="id" column="id">
                                      <generator class="native"></generator>
                             </id>
                             <property name="name" column="name"></property>
                             <property name="gender" column="gender"></property>
                   </class>
          
</hibernate-mapping>

 

 

 

 

 

 

 
最后是四种操作方式:
package star.july.a_session;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.Test;
import star.july.util.HibernateUtil;
public class Demo {
          //增加
          @Test
          public void test(){
                   Session session = HibernateUtil.getSession();
                   Transaction ts = session.getTransaction();
                   try{
                             //开启事务
                             ts.begin();
                             
                             Student s = new Student();
                   //       s.setId(1);
                             s.setName("杨光");
                             s.setGender("男");
                             session.save(s);
                             
                             ts.commit();
                   }catch(Exception e){
                             e.printStackTrace();
                             ts.rollback();
                   }
          }
          
          //修改
          @Test
          public void test2(){
                   Session session = HibernateUtil.getSession();
                   Transaction ts = session.getTransaction();
                   try{
                             //开启事务
                             ts.begin();
                             
                             /*Student s = new Student();
                             s.setId(1);
                             s.setName("小红");
                             s.setGender("女");*/
                             
                             //方式一:
//                          session.update(s);
                             
                             //方式二:
                             /**
                              * 参数
                              * class:要查询的实体类的class
                              * Serializable:要查询的对象的主键号
                              */
                             //先查询
                             Student stu = (Student)session.get(Student.class, 2);
                             //再修改
                             stu.setGender("女");
                             //不需要调用update方法
                             System.out.println(stu);  //输出:Student [id=2, name=小年, gender=女]
                             ts.commit();
                   }catch(Exception e){
                             e.printStackTrace();
                             ts.rollback();
                   }
          }
          
          
          //删除
          @Test
          public void test3(){
                   Session session = HibernateUtil.getSession();
                   Transaction ts = session.getTransaction();
                   try{
                             //开启事务
                             ts.begin();
                             
                             //方式一
                   /*       Student s = new Student();
                             s.setId(2);
                             session.delete(s);*/
                             
                             
                             //方式二
                             //先查询再删除
                             Student stu = (Student)session.get(Student.class, 3);
                             if(stu!= null ){
                                      session.delete(stu);
                             }
                             //提交事务
                             ts.commit();
                   }catch(Exception e){
                             e.printStackTrace();
                             ts.rollback();
                   }
          }
          
          
          
          //查询
                   @Test
                   public void test4(){
                             Session session = HibernateUtil.getSession();
                             Transaction ts = session.getTransaction();
                             try{
                                      //开启事务
                                      ts.begin();
                                      
                                      
                                      //查询一个
                                      //参数一:查询的类型
                                      //参数二:查询的id
                             //       Student stu = (Student)session.get(Student.class, 3);
                             //       System.out.println(stu);
                                      
                                      //查询多个
                                      List<Student> list = session.createQuery("from Student").list();
                                      for(Student s : list){
                                                System.out.println(s);
                                      }
                                      
                                      //提交事务
                                      ts.commit();
                             }catch(Exception e){
                                      e.printStackTrace();
                                      ts.rollback();
                             }
                   }
}

 

 

 

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值