hibernate对数据库进行CRUD操作 「爱情、让人受尽委屈。」 2022-08-08 14:57 230阅读 0赞 package com.hibernate.test; import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; import org.junit.Test; import com.hibernate.domain1.Person; public class PersonTest { private static SessionFactory sessionFactory; // 静态代码块 static { Configuration configuration = new Configuration(); // 加载配置文件 configuration.configure("hibernate.cfg.xml"); // 创建服务器注册对象 // 创建服务注册对象 ServiceRegistry serviceRegistry = new ServiceRegistryBuilder() .applySettings(configuration.getProperties()) .buildServiceRegistry(); // 采用了工厂模式创建sessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); } @Test public void testSavePerson() { // 打开session Session session = sessionFactory.openSession(); // 事务开始 Transaction transaction = session.beginTransaction(); Person person = new Person(); // 由于在映射文件中已经说明主键的产生方式是hibernate内部产生,所以在程序中不用设置主键 person.setPname("王大炮"); person.setPsex("男"); // 保存person对象到数据库中 session.save(person); // 提交事务 transaction.commit(); // 关闭session session.close(); } // 修改 @Test public void testUpdatePerson() { // 打开session Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); /* * 1.先把修改的那行提取出来 说明, Serializable是String和包装类共同的父类session.get(clazz, * id);// clazz是字节码,id是Serializable,id=1L,则这个id的类型一定要和Person类中对应的类型匹配 * 那么把第二个参数定义为Serializable则好处是既能接受基本类型的包装类又可以接受string类 */ // java的反射机制调用Java类的默认的构造函数,必须存在 Person person = (Person) session.get(Person.class, 1L);// 1L代表是Long类型,这里的id类型要和Person类中对应的类型匹配 person.setPsex("不详"); session.update(person); transaction.commit();// 提交事务 session.close(); } // 查询 无需事务 @Test public void testQuery() { Session session = sessionFactory.openSession(); List<Person> personList = session.createQuery("from Person").list(); System.out.println(personList.size()); } // 删除,两种方式 @Test public void testDelete() { Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); // 方式一,先从中获取指定的id对象.推荐 Person person = (Person) session.get(Person.class, 1L); session.delete(person); // 方式二,创建一个新的person对象 // Person person2 = new Person(); // person2.setPid(1L); // session.delete(person2); transaction.commit(); session.close(); } } 注意: 只有查询操作无需事务干预,其他的三个(添加,修改,删除)需要事务干预
相关 使用Java进行数据库操作:CRUD操作问题 在Java中,我们可以使用各种数据库连接工具,如JDBC(Java Database Connectivity)。以下是对CRUD操作的示例: 1. 创建(CREATE): ╰+哭是因爲堅強的太久メ/ 2024年09月11日 16:18/ 0 赞/ 23 阅读
相关 NodeJs——对数据库CRUD 学生成绩管理系统 在这里使用数据库进行获取数据:先进行建表,建表的数据如下图所示: ![在这里插入图片描述][20201012120251593.png_pic_cen 比眉伴天荒/ 2022年12月13日 14:14/ 0 赞/ 97 阅读
相关 QT对access数据库进行操作 [使用QT对access数据库进行操作——————数据库中表、记录和域的读取][QT_access] \include <QtCore/QCoreApplica 快来打我*/ 2022年09月24日 00:26/ 0 赞/ 258 阅读
相关 hibernate 配置--入门操作----实现crud 操作 [hibernate 入门操作----实现crud 操作][hibernate _----_crud] 转自:[http://blog.csdn.net/wang9258/a 素颜马尾好姑娘i/ 2022年08月26日 00:44/ 0 赞/ 183 阅读
相关 hibernate对数据库进行CRUD操作 package com.hibernate.test; import java.util.List; import org.hibe 「爱情、让人受尽委屈。」/ 2022年08月08日 14:57/ 0 赞/ 231 阅读
相关 hibernate的CRUD操作 package dao; import entity.Address; import entity.Students; import ╰+攻爆jí腚メ/ 2022年07月24日 06:10/ 0 赞/ 178 阅读
相关 Hibernate对单表的CRUD操作 在上篇博客配置完开发环境后,现在是在JUnit中测试CRUD方法的,话不多说,我们来看看代码如何实现的, 1.增 @Test public void te 我就是我/ 2022年07月19日 11:53/ 0 赞/ 182 阅读
相关 使用Hibernate进行CRUD操作 CRUD操作 1、使用hibernate把数据库模型和java对象进行ORM映射,通过配置文件或者注解完成。 2、程序通过hibernate提供的API进行CRUD, 野性酷女/ 2022年02月17日 17:21/ 0 赞/ 306 阅读
相关 CRUD---数据库SQL操作 概念:CRUD是指在做计算处理时的 - 增加(Create)、 - 读取(Retrieve)(重新得到数据)、 - 更新(Update) 骑猪看日落/ 2021年10月06日 13:26/ 0 赞/ 360 阅读
还没有评论,来说两句吧...