Hibernate 的增删改查

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">  
<hibernate-configuration>  
<session-factory>  
    <property name="show_sql">true</property>  
    <property name="myeclipse.connection.profile">bookshop</property>  
    <property name="connection.url">  
        jdbc:mysql://localhost:3306/bookshop  
    </property>  
    <property name="connection.username">root</property>  
    <property name="connection.password">1234</property>  
    <property name="connection.driver_class">  
        com.mysql.jdbc.Driver  
    </property>  
    <property name="dialect">  
        org.hibernate.dialect.MySQLDialect  
    </property>  
    <mapping resource="com/hibtest1/entity/Users.hbm.xml" />  
</session-factory>  

</hibernate-configuration>  

Users.java

package com.hibtest1.entity;  
  
import java.io.Serializable;  
  
public class Users implements Serializable {  
    private Integer id;         //编号  
    private String loginName;   //用户名  
    private String loginPwd;    //密码  
    //默认构造方法  
    public Users() {          
    }  
    public Integer getId() {  
        return id;  
    }  
    public void setId(Integer id) {  
        this.id = id;  
    }  
    public String getLoginName() {  
        return loginName;  
    }  
    public void setLoginName(String loginName) {  
        this.loginName = loginName;  
    }  
    public String getLoginPwd() {  
        return loginPwd;  
    }  
    public void setLoginPwd(String loginPwd) {  
        this.loginPwd = loginPwd;  
    }  
      

}  

Users.hbm.xml

<?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">  
  
<hibernate-mapping>  
<class name="com.hibtest1.entity.Users" table="users" catalog="bookshop">       
     <id name="id" type="java.lang.Integer">  
         <column name="Id" />  
         <generator class="native"></generator>  
     </id>  
     <property name="loginName" type="java.lang.String">  
         <column name="LoginName" length="50" />  
     </property>  
     <property name="loginPwd" type="java.lang.String">  
         <column name="LoginPwd" length="16" />  
     </property>  
 </class>  

</hibernate-mapping>  

TestAdd.java

package com.hibtest1;  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.Transaction;  
import org.hibernate.cfg.Configuration;  
  
import com.hibtest1.entity.Users;  
  
public class TestAdd {  
    public static void main(String[] args) {  
        new TestAdd().addUser();  
    }     
    private void addUser(){  
        //建立持久化对象  
        Users user=new Users();  
        user.setLoginName("Haige");  
        user.setLoginPwd("123456");  
        //1.初始化,读取配置文件hibernate.cfg.xml  
        Configuration config=new Configuration().configure();  
        //2.读取并解析映射文件(Users.hbm.xml),创建sessionFactory  
        SessionFactory sessionFactory=config.buildSessionFactory();  
        //3.打开session  
        Session session=sessionFactory.openSession();  
        Transaction tx=null;  
        try {             
            tx=session.beginTransaction();    //4.开始一个事务              
            session.save(user);      //5.持久化操作    
            tx.commit();    //6.提交事务  
        } catch (Exception e) {  
            if(tx!=null){  
                tx.rollback();  //事务回滚                                                                            
            }     
            e.printStackTrace();  
        }finally{  
            session.close();   //7.关闭session  
        }         
    }  

}  

TestDelete.java

package com.hibtest1;  
  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.Transaction;  
import org.hibernate.cfg.Configuration;  
  
import com.hibtest1.entity.Users;  
  
public class TestDelete {  
    public static void main(String[] args) {  
        new TestDelete().testDelete();  
    }  
    private void testDelete(){  
        //初始化,读取配置文件hibernate.cfg.xml  
        Configuration config=new Configuration().configure();  
        //读取并解析映射文件(Users.hbm.xml),创建sessionFactory  
        SessionFactory sessionFactory=config.buildSessionFactory();  
        //打开session  
        Session session=sessionFactory.openSession();  
        Transaction tx=null;  
        //加载要删除的数据  
        Users user=(Users)session.get(Users.class, new Integer(1));  
        try {  
            tx=session.beginTransaction();    //开始一个事务            
            session.delete(user);             //执行删除      
            tx.commit();                      //提交事务  
        } catch (Exception e) {  
            if(tx!=null){  
                tx.rollback();       //事务回滚               
            }  
            e.printStackTrace();  
        }finally{  
            session.close();   //关闭session  
        }     
          
    }  
  

}  

TestSelect.java

package com.hibtest1;  
  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.cfg.Configuration;  
  
import com.hibtest1.entity.Users;  
  
public class TestSelect {  
    public static void main(String[] args) {  
        new TestSelect().testSelect();  
    }  
      
    private void testSelect(){  
        //1.初始化,读取配置文件hibernate.cfg.xml  
        Configuration config=new Configuration().configure();  
        //2.读取并解析映射文件(Users.hbm.xml),创建sessionFactory  
        SessionFactory sessionFactory=config.buildSessionFactory();  
        //3.打开session  
        Session session=sessionFactory.openSession();  
        //4.加载数据  
        Users user=(Users)session.get(Users.class, new Integer(1));  
        //输出用户名和密码  
        System.out.println(user.getLoginName()+" "+user.getLoginPwd());  
    }  
  

}  

TestUpdate.java

package com.hibtest1;  
  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.Transaction;  
import org.hibernate.cfg.Configuration;  
  
import com.hibtest1.entity.Users;  
  
public class TestUpdate {  
    public static void main(String[] args) {  
        new TestUpdate().testUpdate();  
    }  
    private void testUpdate(){  
        //初始化,读取配置文件hibernate.cfg.xml  
        Configuration config=new Configuration().configure();  
        //读取并解析映射文件(Users.hbm.xml),创建sessionFactory  
        SessionFactory sessionFactory=config.buildSessionFactory();  
        //打开session  
        Session session=sessionFactory.openSession();  
        Transaction tx=null;  
        //加载要修改的数据  
        Users user=(Users)session.get(Users.class, new Integer(2));  
        //修改数据  
        user.setLoginName("popopo");  
        try {  
            tx=session.beginTransaction();    //开始一个事务            
            session.update(user);             //执行更新  
            tx.commit();                      //提交事务  
        } catch (Exception e) {  
            if(tx!=null){  
                tx.rollback();       //事务回滚               
            }  
            e.printStackTrace();  
        }finally{  
            session.close();   //关闭session  
        }  
    }  
  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值