• Spring Boot 8.连接MySQL数据库


    官方教程:https://spring.io/guides/gs/accessing-data-mysql/

    首先配置:

            <!-- JPA Data (We are going to use Repositories, Entities, Hibernate, etc...) -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <!-- Use MySQL Connector-J -->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>

     在application.properties配置sql连接:

    # 在这里,spring.jpa.hibernate.ddl-auto可以是none,update,create,create-drop,请参阅Hibernate文档,了解详细信息。
    # none这是默认设置MySQL,不会更改数据库结构。
    # update Hibernate根据给定的Entity结构更改数据库。
    # create 每次都创建数据库,但不要在关闭时删除它。
    # create-drop创建数据库,然后在SessionFactory关闭时删除它。
    # 我们在这里开始是create因为我们还没有数据库结构。
    # 第一次运行后,我们可以将其切换到update或none根据程序要求。update当您想对数据库结构进行一些更改时使用。
    spring.jpa.hibernate.ddl-auto=create
    spring.datasource.url=jdbc:mysql://localhost:3306/SpringBootStudy
    spring.datasource.username=root
    spring.datasource.password=12345678

    配置表的实体类,运行时,如果选择create,则spring boot 会自动在mysql中创建对应的表

    package com.example.springbootstudy.database;
    
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.GenerationType;
    import javax.persistence.Id;
    
    @Entity
    public class Users {
    
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private long id;
        private String phone;
        private String nickname;
        private String personalSign;
        private String sex;
        private String realName;
        private String personalId;
        private java.sql.Timestamp createTime;
        private java.sql.Timestamp updateTime;
    
        //省略get set方法
            
    }

    由Spring Boot自动创建的表

    创建Repository:

    package com.example.springbootstudy.database;
    
    import org.springframework.data.repository.CrudRepository;
    
    import java.util.List;
    
    public interface UserRepository extends CrudRepository<Users, Integer> {
    
        List<Users> findByNickname(String nickname);
    }

    测试:

        @Autowired
        private UserRepository userRepository; 
    
       @GetMapping("saveUser")
        public String saveUser(@RequestParam String phone, @RequestParam String nickname) {
            Users users = new Users();
            users.setPhone(phone);
            users.setNickname(nickname);
            userRepository.save(users);
            return "Success";
        }
    
        @GetMapping("getUsersByNickname")
        public List<Users> getUsersByNickname(@RequestParam String nickname) {
            return userRepository.findByNickname(nickname);
        }
  • 相关阅读:
    寒假学习5流程控制之ifelse与for循环
    寒假学习4scala数据类型与运算符
    寒假学习13
    寒假学习14
    寒假学习3scala简介与基础1
    sqlserver 定时自动备份
    windows mysql 主从同步
    mysql 连接数 最大并发数
    mysql基础语法
    sqlserver 常见语法
  • 原文地址:https://www.cnblogs.com/hbolin/p/10676595.html
Copyright © 2020-2023  润新知