008Spring & JPA & Hibernate & MySQL

01下载免安装版MySQL

02安装MySQL

  a)将MySQL压缩包解压到合适的位置,以C:programmerToolsmysql-5.7.20-winx64路径为例;

  b)新建系统变量,变量名MYSQL_HOME,值C:programmerToolsmysql-5.7.20-winx64;

  c)在系统变量path中追加%MYSQL_HOME%in;

  d)在C:programmerToolsmysql-5.7.20-winx64in目录中创建my.ini配置文件,配置内容如下

[client]
 default-character-set=utf8
[mysqld]
#数据库目录 
 basedir = %MYSQL_HOME% 
#数据库数据目录 
 datadir = %MYSQL_HOME%data
 port = 3306 
 default-character-set=utf8

  e)以管理员身份打开命令行,输入如下命令

命令:mysqld --initialize   #初始化mysql,生成data文件夹中的文件
命令:mysqld -install       #安装mysql
命令:net start mysql       #启动服务器

  f)设置数据库密码

    在C:programmerToolsmysql-5.7.20-winx64data目录下DESKTOP-LVJ3R7C.err文件中可以看到mysql启动时,生成了临时密码

[Note] A temporary password is generated for root@localhost: aUq3td)UV-DR

    登录数据库并修改密码

mysql -u root -p    #回显后,输入日志中密码
alter user 'root'@'localhost' identified by 'dyd';    #修改数据库密码为dyd

  g)新建数据库

create database dyd;    #新建dyd数据库

03新建SpringBoot工程,application.yml中添加数据库配置如下

spring:
  datasource:
    url: jdbc:mysql://localhost/dyd
    username: root
    password: dyd
    driver-class-name: com.mysql.jdbc.Driver
  jpa:
    show-sql: true
    hibernate:
      ddl-auto: create-drop #启动时,表存在则删除创建,不存在则创建。仅用于开发环境

04Maven的POM配置文件

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

05Bean对象

package com.dyd.entity.bean;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

import lombok.Data;
import lombok.NonNull;

@Entity
@Data  //使用了lombok
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    @NonNull
    private String name;
    @NonNull
    private String email;
}

06DAO类

package com.dyd.entity.dao;

import org.springframework.data.repository.CrudRepository;

import com.dyd.entity.bean.User;

public interface UserRepository extends CrudRepository<User, Long> {
}

07数据库操作示例

package com.dyd.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.dyd.entity.bean.User;
import com.dyd.entity.dao.UserRepository;

@RestController
@RequestMapping("/user")
public class UserController {
    @Autowired
    private UserRepository userRepository;

    @GetMapping("/add")
    public @ResponseBody String add() {
        //
        User user = new User("Bob", "666@hotmail.com");
        userRepository.save(user);

        //
        Iterable<User> all = userRepository.findAll();

        //
        for (User u : all) {
            u.setEmail("999@hotmail.com");
            userRepository.save(u);
        }

        //
        userRepository.delete(user);
        return "Success";
    }

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

}

08常见mysql命令

启动:net start mysql
停止:net stop mysql
控制台:mysqld --console
卸载: mysqld -remove

参考http://blog.csdn.net/z1074907546/article/details/51482718

原文地址:https://www.cnblogs.com/geniushuangxiao/p/7301162.html