Spring整合Spring Data JPA——MySQL

1. MySQL下载和配置

进入官网:

点击MySQL Community(GPL) Downloads

点击MySQL Community Server,选择Windows (x86, 64-bit), ZIP Archive进行下载。

    解压缩后,用管理员打开CMD,切换到MySql的解压目录下的bin目录: 再输入命令mysqld --initialize --console来初始化数据库,并记录随机生成的密码: 输入mysqld -install将mysql安装为Windows的服务: 输入命令net start mysql或sc start mysql启动mysql服务 输入mysql -u root -p来登陆数据库,并输入前面记录的临时密码: 登陆成功后输入命令alter user root@localhost identified by 想要设置的密码;将原来复杂的密码修改为自己的密码,并输入commit;提交: 输入quit退出数据库,再次登陆数据库,这时我们用的是我们修改后的密码登陆的: 最后我们将Mysql的bin目录配置到环境变量中,方便我们下次启动,而不用切换路径:

停止MySQL服务:net stop mysqld或sc stop mysqld

删除MySQL服务:sc delete mysqld或mysqld -remove(需先停止服务)

对于MySQL的使用,可以参考:

2. Spring配置MySQL

    创建Spring Boot项目,添加依赖Spring Web, Spring Data JPA, and MySQL Driver
<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-security</artifactId>
		</dependency>		
		
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<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>
	</dependencies>
    创建一个数据库
mysql> create database db_example;
mysql> create user springuser@% identified by ThePassword; 
mysql> grant all on db_example.* to springuser@%;
    在src/main/resources/application.properties文件中进行配置
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=ThePassword
#spring.datasource.driver-class-name =com.mysql.jdbc.Driver
spring.jpa.database=mysql
spring.jpa.show-sql=true
 
spring.sql.init.mode=always
    创建User对象
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import lombok.Data;

@Data
@Entity
@Table(name = "user")
public class User{
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Integer id;
	private String username;
	private String password;
}
    创建UserRepository
import org.springframework.data.repository.CrudRepository;

public interface UserRepository extends CrudRepository<User, Integer>{

}
    src/main/resources/schema.sql
DROP TABLE user;
create table  user (
  id int(11) NOT NULL,
  username varchar(32) DEFAULT ,
  password varchar(255) DEFAULT ,
  PRIMARY KEY (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO user VALUES (1, aa, 123);
INSERT INTO user VALUES (2, bb, 123);
INSERT INTO user VALUES (3, cc, 123);
INSERT INTO user VALUES (4, dd, 123);

参考:

经验分享 程序员 微信小程序 职场和发展