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