SpringBoot+Hibernate+MySQL实现数据操作

本文详细介绍了如何使用SpringBoot、Hibernate和MySQL搭建数据操作环境,包括MySQL的下载安装、数据库和表的创建、配置文件设置、实体类与Repository接口的定义,以及Controller的实现,展示了数据库的增删改查操作。

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

这篇文章介绍SpringBoot+Hibernate+MySQL实现数据操作,要实现这一部分功能首先得安装数据库MysQL。然后通过接口访问浏览器增删改查。

一、MySQL下载和安装

下载地址:

https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-macos10.15-x86_64.dmg

注意以下内容,选择第二个单选框,设置密码。账户名称:root

安装完毕后, 进入系统偏好设置,如果里面有MySQL说明已经安装成功。点击MySQL,开启MySQL服务。

这样数据库就启动了,接下来就可以操作数据库了。

二、数据库的连接和创建

1、创建数据库

  • 选择ideal intelij右上角Batabase;
  • 点击+,选择Schema;
  • Name输入框输入数据库名称。

完成一上操作,数据库即可完成数据库创建。

2、连接数据库

点击Test Connnection出现下图,则说明连接成功了。

3、创建数据库表

找到刚刚选择的数据库,右键,选择+New,点击Table,创建数据表:

创建数据库表各个字段:

这样数据库和表就创建完成,后面直接使用框架连接就行。

三、环境配置

1、gradle配置

打开gradle,在dependencies中配置:

implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
runtimeOnly 'mysql:mysql-connector-java'

dependencies {
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    implementation 'org.springframework.boot:spring-boot-starter-web'
    //这thymeleaf包一定要放在最后,否则更改端口不生效,不知道啥原因
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'

    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    runtimeOnly 'mysql:mysql-connector-java'
}

2、application.properties配置

#端口号
server.port=8888

#MySQL
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/kartwang?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=123456789

#hibernate配置
#数据库类别
spring.jpa.database=mysql
#输出日志
spring.jpa.show-sql=true 
#数据库没有会新建,内容不会清空
hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

四、操作数据库

包结构如下:

1、实体类User

@Entity:加了@Entity注解, Spring框架会得知这个类是一个Entity, Hibernate会把这个类映射到数据库中的关系表, 这个关系表的列与User的所有属性一一对应。

@Id  @GeneratedValue(strategy=GenerationType.IDENTITY):id由数据库生成,传递参数时候可以不使用。

@Entity // This tells Hibernate to make a table out of this class
public class User {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)//id由数据库生成,传递参数时候可以不使用
    private Integer id;

    private String name;

    private String email;

    public Integer getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

2、UserRepository

新建一个接口命名为UserRepository,让该接口继承CrudRepository接口,以持久化对象User作为CrudRepository的第一个类型参数,表示当前所操作的持久化对象类型,Integer作为CrudRepository的第二个类型参数,用于指定ID类型。

public interface UserRepository extends CrudRepository<User, Integer> {

    User findByEmail(String email);

    void deleteByEmail(String email);

}

什么注解也不用加,Spring会自动扫描该类,通过依赖注入对象找到该实例对象。

3、控制器类UserController

@RestController
public class UserController {

    //依赖注入对象
    @Autowired
    private UserRepository userRepository;

    @GetMapping(path = "/all")
    public @ResponseBody
    Iterable<User> getAllUsers() {
        return userRepository.findAll();
    }

    @GetMapping(path = "/add")
    public  User addUser(String email){
        User user = new User();
        user.setEmail(email);
        user.setName("太漏了");
        User save = userRepository.save(user);
        return save;
    }
}

通过以上三步骤,就完成了数据库的访问,下面看看效果:

访问:http://localhost:8888/add?email=8900000@qq.com

访问:http://localhost:8888/all

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值