一:
在pom.xml中引入JPA的依赖、MYSQL数据库的连接器的依赖,代码如下:
<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>
二:
在application.yml中加上相应的配置,代码如下:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/spring_cloud?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&serverTimezone=GMT%2B8
username: root
password: 123456
jpa:
hibernate:
ddl-auto: create #第一次建表用create,后面用update
show-sql: true
database-platform: org.hibernate.dialect.MySQLDialect #Hibernate SQL方言设置
三:
3.1 创建实体类,代码如下:
import javax.persistence.*;
/**
* @Entity 表明该类是一个实体类,它和数据库的表名相对应
*/
@Entity
public class User {
/**
* @Id 表明该变量对应数据库中的id
* @GeneratedValue(strategy = GenerationType.IDENTITY) 配置id字段为自增长
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
/**
* @Column(nullable = false,unique = true)
* @Column 表明该变量对应数据库表中的字段
* nullable = false 不能为空
* unique = true 唯一约束条件
*/
@Column(nullable = false,unique = true)
private String userName;
@Column
private String passWord;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
}
3.2 创建DAO,代码如下:
import com.springcloud.learn.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
/**
* Long 为主键的类型
*/
public interface UserDao extends JpaRepository<User,Long> {
User findByUserName(String userName);
}
该Dao接口继承JpaRepository的接口,继承之后就能对数据库进行读写操作。
在该接口中写一个findByUserName的方法,传参 userName ,JPA已经实现根据某个字段去查询,所以不需要额外编码。
3.3 创建Service,代码如下:
@Service
public class UserService {
@Autowired
private UserDao userDao;
public User findByUserName(String userName){
User user = userDao.findByUserName(userName);
return user;
}
}
3.4 创建Controller,代码如下:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/findByUserName/{userName}")
public User findByUserName(@PathVariable("userName") String userName){
User user = userService.findByUserName(userName);
return user;
}
}
四:
运行项目:发现后台会自动生成user表,随便插入一条数据 1,123456,java
用浏览器或postman 输入http://localhost:8080/user/findByUserName/java,获取到user对象
五:
学习中碰到的问题