• 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

  • 相关阅读:
    android 拖放功能
    android 桌面文件夹ui美化
    instanceof 杂谈
    Android自定义长按事件
    launcher in android
    类似网易163TAB选项卡(标签)代码
    【新手入门教程】简洁纯CSS下拉导航菜单代码
    橘黄色的大气CSS菜单代码
    Flash效果的网站后台左侧Js多级展开菜单代码
    仿FLASH动感十足鼠标滑过放大的菜单代码
  • 原文地址:https://www.cnblogs.com/geniushuangxiao/p/7301162.html
Copyright © 2020-2023  润新知