表结构:
SQL脚本如下:
/*
Navicat Premium Data Transfer
Source Server : li
Source Server Type : MySQL
Source Server Version : 50037
Source Host : localhost:3306
Source Schema : test
Target Server Type : MySQL
Target Server Version : 50037
File Encoding : 65001
Date: 30/07/2019 09:35:17
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
`id` bigint(20) NOT NULL DEFAULT '',
`password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
`username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
PRIMARY KEY USING BTREE (`id`)
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of sys_user
-- ----------------------------
INSERT INTO `sys_user` VALUES (1, 'root', 'root');
INSERT INTO `sys_user` VALUES (2, 'sang', 'sang');
SET FOREIGN_KEY_CHECKS = 1;
开始创建项目:
添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>5.1.14</version>
</dependency>
application.yml配置文件如下:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8
username: root
password: admin
项目目录结构:
创建User实体类:
@Table注解中的表明要和数据库中的表明一样。
@Entity
@Table(name = "sys_user")
public class User{
@Id
@GeneratedValue
private long id;
@Column(length = 25)
private String username;
@Column(length = 15)
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;
}
}
自定义Repository类:
public interface UserResposity extends JpaRepository<User,Integer> {
User findAllByUsername(String username);
User findById(Long id);
}
创建一个controller:
@RestController
public class UserController {
@Autowired
UserResposity userResposity;
@GetMapping("/ss")
public User ss(String username){
return userResposity.findAllByUsername(username);
}
@GetMapping("/findById")
public User findById(Long id){
return userResposity.findById(id);
}
}