Hibernate实现数据的增删改查(CRUD)操作

本文介绍了使用Hibernate实现数据库的增删改查操作,并提供了具体的代码示例和配置文件示例,帮助开发者轻松掌握数据库操作的基本技能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文转载自网易博客博文:Hibernate实现数据库增删改查

自觉自己写的话不会写得比这篇博文更易懂明了,故转载以便他日查阅,若有不妥,谢谢指出。

增删改查代码:

Hi,All

package com.winwill;

import java.util.List;

import org.hibernate.Query; import org.hibernate.Session;

 

public class Test {

 @SuppressWarnings("unchecked")  public static void main(String[] args) {      /**    *  Hibernate 实现数据插入    */   Session session = HibernateUtil.getSessionFactory().getCurrentSession();   user u1 = new user();   u1.setName("zhangsan");   u1.setAge(25);   session.beginTransaction();    session.save(u1);     session.getTransaction().commit();      /**    * Hibernate 实现数据删除    */   session = HibernateUtil.getSessionFactory().getCurrentSession();   session.beginTransaction();   user u2 = new user();   u2.setId(53); //删除id=16的项   session.delete(u2);   session.getTransaction().commit();      /**    * Hibernate 实现数据更新    */   session = HibernateUtil.getSessionFactory().getCurrentSession();   session.beginTransaction();   user u3 = (user)session.get(user.class,54);   if(u3 != null){    u3.setName("lisi");    u3.setAge(23);    session.update(u3);    session.getTransaction().commit();   }      /**    * Hibernate 实现数据查询(HQL查询)    */   session = HibernateUtil.getSessionFactory().getCurrentSession();   session.beginTransaction();   Query query = session.createQuery("from user where age=23"); //此处user是类名,而不是数据库的表名,select * 不写   List<user> users = query.list();   for (user user : users) {    System.out.println(user.getId()+" "+user.getName()+" "+user.getAge());   }   } }

 

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>

        <!-- Database connection settings -->         <property name="connection.driver_class">com.mysql.jdbc.Driver</property>         <property name="connection.url">jdbc:mysql://localhost:3306/my</property>         <property name="connection.username">root</property>         <property name="connection.password">sa</property>

        <!-- JDBC connection pool (use the built-in) -->         <property name="connection.pool_size">1</property>

        <!-- SQL dialect -->         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->         <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->         <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->         <property name="show_sql">true</property>

        <!-- Drop and re-create the database schema on startup -->         <property name="hbm2ddl.auto">update</property>

        <mapping resource="com/winwill/user.hbm.xml"/>

    </session-factory>

</hibernate-configuration>

user.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 package="com.winwill">     <class name="user" table="user">         <id name="id"></id>         <property name="name"/>         <property name="age"/>     </class> </hibernate-mapping>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值