基于持久层框架hibernate用SpringMVC增删功能

本文介绍了如何在SpringMVC框架下结合Hibernate持久层框架实现数据库的增删功能。首先讲解了Hibernate作为全自动化的ORM框架,以及其与mybatis的比较。接着,详细阐述了配置数据库连接、编写实体类、 Dao层接口以及配置SpringMVC的步骤,强调了JPA的使用,特别是通过继承JpaRepository接口实现无需编写实现类即可完成基本的CRUD操作。文章还涉及了JPA的优势,如标准化、简单方便、强大的查询能力以及高级特性,并提及了JPA的供应商,如Hibernate、Spring和OpenJPA。
摘要由CSDN通过智能技术生成

接Spring MVC框架(1)的方法

Hibernate:持久层全自动化的框架
hibernate 用的少了 因为现在mybatis用的多
接下来 hibernate框架要链接数据库blog

/*
Navicat MySQL Data Transfer

Source Server         : springdemo
Source Server Version : 50713
Source Host           : localhost:3306
Source Database       : blog

Target Server Type    : MYSQL
Target Server Version : 50713
File Encoding         : 65001

Date: 2019-01-02 10:40:09
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for blog
-- ----------------------------
DROP TABLE IF EXISTS `blog`;
CREATE TABLE `blog` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) NOT NULL,
  `content` varchar(255) DEFAULT NULL,
  `user_id` int(11) NOT NULL,
  `pub_date` date NOT NULL,
  PRIMARY KEY (`id`),
  KEY `user_id_idx` (`user_id`),
  CONSTRAINT `FKpxk2jtysqn41oop7lvxcp6dqq` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`),
  CONSTRAINT `user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of blog
-- ----------------------------
INSERT INTO `blog` VALUES ('1', 'SpringMVC', '这是SpringMVC的真的很简单。TEST TEST TEST', '2', '2015-03-18');
INSERT INTO `blog` VALUES ('5', 'zjjlive', 'asdf', '2', '2017-08-13');


数据库user

/*
Navicat MySQL Data Transfer

Source Server         : springdemo
Source Server Version : 50713
Source Host           : localhost:3306
Source Database       : blog

Target Server Type    : MYSQL
Target Server Version : 50713
File Encoding         : 65001

Date: 2019-01-02 10:40:19
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nickname` varchar(45) NOT NULL,
  `password` varchar(45) NOT NULL,
  `first_name` varchar(45) DEFAULT NULL,
  `last_name` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', 'Steve1234', 'gaussic2', 'Steve', 'NoJob');
INSERT INTO `user` VALUES ('2', 'Bill', '111111', 'Bill', 'Gates');
INSERT INTO `user` VALUES ('3', 'Mark', '22222', 'Mark', 'Zuckerberg');
INSERT INTO `user` VALUES ('4', 'gauss', '11111111', 'Gaussic', 'D');
INSERT INTO `user` VALUES ('6', '全民编程123', '111111', 'asdf123', 'fff123');
INSERT INTO `user` VALUES ('7', 'zjjlive_test', '123456', 'zjj123', 'live');


2.然后写bean
BlogEntity.java

package com.foreknow.model;



import javax.persistence.*;
import java.sql.Date;

@Entity
@Table(name = "blog", schema = "blog", catalog = "")
public class BlogEntity {
   
    private int id;
    private String title;
    private String content;
    private Date pubDate;
    private UserEntity userByUserId;

    @Id
    @Column(name = "id", nullable = false)
    public int getId() {
   
        return id;
    }

    public void setId(int id) {
   
        this.id = id;
    }

    @Basic
    @Column(name = "title", nullable = false, length = 100)
    public String getTitle() {
   
        return title;
    }

    public void setTitle(String title) {
   
        this.title = title;
    }

    @Basic
    @Column(name = "content", nullable = true, length = 255)
    public String getContent() {
   
        return content;
    }

    public void setContent(String content) {
   
        this.content = content;
    }

    @Basic
    @Column(name = "pub_date", nullable = false)
    public Date getPubDate() {
   
        return pubDate;
    }

    public void setPubDate(Date pubDate) {
   
        this.pubDate = pubDate;
    }

    @Override
    public boolean equals(Object o) {
   
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        BlogEntity that = (BlogEntity) o;

        if (id != that.id) return false;
        if (title != null ? !title.equals(that.title) : that.title != null) return false;
        if (content != null ? !content.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值