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;}@Overridepublic 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();//获取SessionFactorySessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);//获取sessionSession 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");
转载于:https://www.cnblogs.com/yzp666/p/7529151.html
Hibernate——简单的增、删、改、查操作相关推荐
- 表单的增 删 改 查
django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...
- mysql數據庫的增刪改查_MySQL數據庫之基礎增刪改查操作
作者: 守望幸福 最后修改日期:2014-7-27 所操作的MySQL數據庫名:firstdb 所用的兩個表結構如下: student表 number name socre born_d ...
- properties(map)增.删.改.查.遍历
import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...
- python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...
实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...
- PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理
笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...
- 简单的php数据库操作类代码(增,删,改,查)
数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...
- Python 操作 Elasticsearch 实现 增 删 改 查
Github 地址:https://github.com/elastic/elasticsearch-py/blob/master/docs/index.rst 官网地址:https://elasti ...
- python_操作MySQL 初解 之__类方法调用并 增-删-改-查
文件一: 调用(sqls文件) 1 # 导入模块 2 import pymysql 3 from sqls import * 4 # 创建类 5 class KaoShi(object): 6 7 # ...
- pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能
文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...
- list 增 删 改 查 及 公共方法
1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...
最新文章
- Linux运维宝典:最常用的150个命令汇总
- 刚刚!饶毅再次撰文,回应耿美玉,称其未遵守学术规范
- Android的组件化和模块化
- Unreachable code
- 项目问题思考之策略模式
- access根据所属院系修改学号_五个access管理系统实用范例整合
- matlab中线性变压器,用MATLAB优化计算差动变压器的线性范围
- 为什么使用数据库从库
- java运动员最佳配对_运动员最佳配对问题 - osc_y1pyjby5的个人空间 - OSCHINA - 中文开源技术交流社区...
- 多项目加载顺序修改_面试官:Java 类在 Tomcat 中是如何加载的?
- 大数据实验数据集何处来?
- 苹果的 Safari 浏览器13岁了
- 0.05‱的人生赢家!我们昨天仰视的学霸,今天又成了千亿富豪!
- Win32子系统(csrss.exe,win32k.sys相关知识总结)
- Oracle大神资料索引
- Java设计模式(四)行为型 设计模式
- 最新《Linux系统优化+Linux综合架构课程》
- powershell下使用linux命令,Win10系统下使用Windows PowerShell运行ABD命令的方法
- 肾虚的信号你明白嘛?
- c语言300行代码大作业,C语言300行代码
热门文章
- hive--udf函数(开发-4种加载方式)
- ***PHP中error_reporting()用法详解(含codeigniter框架中屏蔽错误提示的解决方案)
- Cocos2d-x和时间有关的代码
- linux学习(3) 关机使命
- 张亚勤:领导者的3种能力
- spring aop代码的增强
- Python基础之格式化输出函数format()功能详解
- /lib/lsb/init-functions
- SQL语句添加删除修改字段
- Server-Side UI Automation Provider - WinForm Sample