1.新建Spring Boot项目
具体步骤如下
选择相应的依赖:
在SpringBoot项目的src/main/resources下,默认即存在application.properties文件,这个是SpringBoot项目的配置文件,几乎所有相关配置全部定义在这个文件中!
如果需要修改SpringBoot项目使用的Tomcat的端口号,可以在配置文件中添加:
server.port=8888
在application.properties中配置数据库连接的相关信息:
spring.datasource.url=jdbc:mysql://localhost:3306/tedu_ums?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
2.使用SpringBoot+MyBatis+MySQL实现登录
2.1 案例目标
用户可以通过界面输入用户名和密码,提交后,能显示登录结果。
2.2持久层
验证用户登录成功时,需要执行的SQL语句大致是:
select * from t_user where username=?
先创建cn.tedu.sample.entity.User类:
public class User {
private Integer id;
private String username;
private String password;
private Integer age;
private String phone;
private String email;
}
创建cn.tedu.sample.mapper.UserMapper接口,并在接口中添加抽象方法:
public interface UserMapper {
User findByUsername(String username);
}
然后,配置以上接口中抽象方法的映射,与此前使用SSM项目的做法完全相同。
注意:关于SpringBoot项目中的MyBatis应用中,配置XML文件的位置,需要在application.properties中配置mybatis.mapper-locations属性!
完成后,可以在单元测试中进行测试:
@Autowired
UserMapper userMapper;
@Test
public void findByUsername() {
String username = "mybatis";
User result = userMapper.findByUsername(username);
System.err.println(result);
}
3.2控制器
创建cn.tedu.sample.util.JsonResult封装返回结果数据的类:
public class JsonResult {
private Integer state;
}
创建cn.tedu.sample.controller.UserController控制器类,在控制器类之前添加@RestController注解,并在类中添加持久层对象:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
}
然后,在控制器类中添加登录处理请求的方法:
@RequestMapping("login")
public JsonResult login(String username, String password) {
// 创建JsonResult对象
// 根据参数username查询对应的数据
// 判断查询结果是否为null
// 是:用户名不存在
// -- 将JsonResult对象的state设置为2
// 否:用户名正确
// -- 判断查询结果中的密码与参数password是否匹配
// -- 是:将JsonResult对象的state设置为1
// -- 否:将JsonResult对象的state设置为3
// 返回结果
}
完成后,启动项目,打开浏览器,输入http://localhost:8080/login?username=mybatis&password=abc123测试。
4.2前端界面
在src/main/resources/static下创建login.html登录页面。
在src/main/resources/static下添加jQuery的文件。
关于AJAX代码:
function login() {
$("#span-username").empty();
$("#span-password").empty();
$.ajax({
"url":"/login",
"data":$("#form-login").serialize(),
"type":"post",
"dataType":"json",
"success":function(json) {
if (json.state == 1) {
alert("登录成功!");
} else if (json.state == 2) {
// alert("用户名不存在!");
$("#span-username").html("用户名不存在!");
} else if (json.state == 3) {
// alert("密码错误!");
$("#span-password").html("密码错误!");
}
}
});
}
项目源码地址链接:
链接:https://pan.baidu.com/s/1NjuYGU2vwM8LvoAHIkI8hw
提取码:xfpx
来源:CSDN
作者:93年的大叔
链接:https://blog.csdn.net/weixin_43778556/article/details/104208258