在springboot项目中,需要引入以下依赖包
<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>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/databaseName
spring.datasource.username=root
spring.datasource.password=123456
数据库表设计SQL
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '用户id',
`username` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户名',
`password` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码',
`nickname` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '昵称',
`address` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
用户登录,User对象
@Entity
@Table(name = "user")
@Getter
@Setter
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String username;
private String password;
private String nickname;
private String address;
}
登录-持久层
/**
* 继承JpaRepository,指定一个泛型,第一个参数是实体类,第二个参数是实体类的主键类型
*/
@Repository
public interface UserRepository extends JpaRepository<User,Integer> {
}
登录-业务层
public interface IUserService{
}
登录-控制层
@RestController
@RequestMapping("/user")
public class UserController {
/**注入UserRepository**/
@Resource
private UserRepository userRepository;
@PostMapping("/login")
public User login(@RequestBody User user){
return userRepository.findByUsernameAndPassword(user.getUsername(), user.getPassword());
}
@GetMapping("/{id}")
public User getUserById(@PathVariable Integer id){
Optional<User> user = userRepository.findById(id);
/**如果查询成功返回User,否则返回null**/
return user.orElseGet(null);
}
}
小程序页面
npm创建Vant Weapp(官方参考文档)
添加组件
"usingComponents": {
"van-button": "@vant/weapp/button/index",
"van-field": "@vant/weapp/field/index",
"van-icon": "@vant/weapp/icon/index"
}
请求工具request.js
// 同时发送异步请求的次数
let ajaxTimes = 0;
export const request = (params) => {
ajaxTimes ++;
wx.showLoading({
title: '加载中',
mask: true
})
// 后台的请求地址,记得修改成你自己的地址
const baseUrl = 'http://localhost:8080';
return new Promise((resolve, reject) => {
wx.request({
...params,
url: baseUrl + params.url,
success: (result) => {
resolve(result.data);
},
fail: (err) => {
reject(err);
},
complete: () => {
ajaxTimes --;
if(ajaxTimes === 0) { // 所有请求都完成后再关闭提示
wx.hideLoading();
}
},
})
})
}