分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

Hibernate——简单的增、删、改、查操作

发布时间:2023-09-06 01:11责任编辑:胡小海关键词:Hibernate

思路:

1.导入hibernate jar包

2.导入mysql jar包

3.创建数据库

4.创建java实体类

5.编写hibernate.cfg.xml配置文件

6.编写dao类

目录:

数据表:

实体类:

package online.shixun.model;import java.util.Date;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;/** * 实体类 * @author Tom * */@Entity@Table(name = "commodity")public class Commodity { ???????@Id ???@GeneratedValue(strategy = GenerationType.IDENTITY)//主键自增 ???private Integer id; ???????????@Column(name = "createDate") ???private Date createDate;//创建日期 ???????@Column(name = "described") ???private String describe;//商品描述 ???????@Column(name = "modifyDate") ???private Date modifyDate;//修改日期 ???????@Column(name = "name") ???private String name;//商品名称 ???????//构造函数 ???public Commodity(){ ???????????} ???????//带参构造函数 ???public Commodity(Date createDate,String describe,Date modifyDate,String name){ ???????this.createDate = createDate; ???????this.describe = describe; ???????this.modifyDate = modifyDate; ???????this.name = name; ???} ???public Integer getId() { ???????return id; ???} ???public void setId(Integer id) { ???????this.id = id; ???} ???public Date getCreateDate() { ???????return createDate; ???} ???public void setCreateDate(Date createDate) { ???????this.createDate = createDate; ???} ???public String getDescribe() { ???????return describe; ???} ???public void setDescribe(String describe) { ???????this.describe = describe; ???} ???public Date getModifyDate() { ???????return modifyDate; ???} ???public void setModifyDate(Date modifyDate) { ???????this.modifyDate = modifyDate; ???} ???public String getName() { ???????return name; ???} ???public void setName(String name) { ???????this.name = name; ???} ???@Override ???public String toString() { ???????return "Commodity [id=" + id + ", createDate=" + createDate + ", describe=" + describe + ", modifyDate=" ???????????????+ modifyDate + ", name=" + name + "]"; ???} ???????}

hibernate.cfg.xml:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-configuration PUBLIC ???????"-//Hibernate/Hibernate Configuration DTD 3.0//EN" ???????"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration> ???<session-factory> ???????<!-- 数据库连接四项driverclass,url,username,password --> ???????<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> ???????<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/qsx_shop?characterEncoding=UTF-8</property> ???????<property name="hibernate.connection.username">root</property> ???????<property name="hibernate.connection.password">root</property> ???????????????<!-- Hibernate方言,Hibernateh会根据配置的方言产生对应的sql语句 --> ???????<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> ???????????????<!-- 是否显示sql --> ???????<property name="hibernate.show_sql">true</property> ???????????????<!-- 是否格式化sql --> ???????<property name="hibernate.format_sql">true</property> ???????????????<!-- 配置数据实体类 --> ???????<mapping class="online.shixun.model.Commodity" /> ???</session-factory></hibernate-configuration>

DAO:

package online.shixun.test;//import java.sql.Date;import java.util.Date;import java.text.ParseException;import java.text.SimpleDateFormat;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.boot.registry.StandardServiceRegistry;import org.hibernate.boot.registry.StandardServiceRegistryBuilder;import org.hibernate.cfg.Configuration;import online.shixun.model.Commodity;public class HibernateDemo { ???????public static void main(String[] args) throws ParseException { ???????//获取配置文件 ???????Configuration configuration = new Configuration().configure(); ???????//注册服务对象 ???????StandardServiceRegistryBuilder serviceRegistryBuilder = new StandardServiceRegistryBuilder(); ???????StandardServiceRegistry serviceRegistry = serviceRegistryBuilder.applySettings(configuration.getProperties()).build(); ???????//获取SessionFactory ???????SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry); ???????//获取session ???????Session session = sessionFactory.openSession(); ???????//开启事务 ???????session.beginTransaction(); ???????//************开始操作*************// ???????//1. 利用 get 方法获取 id 为 1 的用户数据 ???????Commodity getCommodity = (Commodity) session.get(Commodity.class, 1); ???????System.out.println("创建日期:" + getCommodity.getCreateDate() + "描述:" + getCommodity.getDescribe() + "修改日期:" + getCommodity.getModifyDate() + "名称:" + getCommodity.getName()); ???????// ???????Date date = new Date(0); ???????String stringdate = "2019-05-07"; ???????Date date = ?new SimpleDateFormat("YYYY-MM-DD").parse(stringdate); ???????????????//2.增加商品// ???????Commodity newCommodity = new Commodity(date,"电器1",date,"电饭锅2");// ???????session.save(newCommodity); ???????????????//3.删// ???????Commodity getCommodity1 = (Commodity) session.load(Commodity.class, 2);// ???????session.delete(getCommodity1);// ???????session.getTransaction().commit(); ???????????????//4.改// ???????Commodity getCommodity2 = (Commodity) session.get(Commodity.class, 1);// ???????getCommodity2.setName("洗脸盆");// ???????session.update(getCommodity2);// ???????session.getTransaction().commit(); ???????//************结束操作*************// ???????????????????????//提交事务 ???????session.getTransaction(); ???????//关闭session ???????session.close(); ???????//关闭SessionFactory ???????sessionFactory.close(); ???}}

Hibernate 配置文件有以下两种加载方式,如下:

//利用以下语句加载默认的 Hibernate 配置文件(名称:hibernate.cfg.xml)

Configuration configuration = new Configuration().configure();
//如果要自定义 Hibernate 配置文件名称,需要利用以下语句进行配置文件加载

Configuration configuration = new Configuration().configure("my-hibernate.cfg.xml");

Hibernate——简单的增、删、改、查操作

原文地址:http://www.cnblogs.com/yzp666/p/7529151.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved