目录
前言
创建项目,创建数据库参考之前项目
在static下建立三个网页
index.html
<h1>工程首页</h1>
<a href="/reg.html">注册</a>
<a href="/login.html">登录</a>
</body>
reg.html
<body>
<h1>注册页面</h1>
<form action="/reg">
<input type="text" name="username" placeholder="用户名">
<input type="text" name="password" placeholder="密码">
<input type="text" name="nickname" placeholder="昵称">
<input type="submit" value="注册">
</form>
</body>
login.html
<body>
<h1>登录页面</h1>
<form action="/login">
<input type="text" name="username" placeholder="用户名">
<input type="password" name="password" placeholder="密码">
<input type="submit" value="登录">
</form>
</body>
建立entity包下-user
package cn.tedu.boot05.entity;
public class User {
private Integer id;
private String username;
private String password;
private String nickname;
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", nickname='" + nickname + '\'' +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer 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;
}
public String getNickname() {
return nickname;
}
public void setNickname(String nickname) {
this.nickname = nickname;
}
}
建立Mapper
package cn.tedu.boot05.mapper;
import cn.tedu.boot05.entity.User;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
@Mapper
public interface UserMapper {
//如果查询的是一个对象的信息,查询到了内容则查询到的数据封装到对象里面返回
//如果没有查询到则会返回null
//如果返回值是一个对象不是集合, 但是查询到的数据出现大于一条的情况会报错
@Select("select password from user where username=#{username}")
User selectByUsername(String username);
//注册其实就是增删改查的增
@Insert("insert into user values(null,#{username}," +
"#{password},#{nickname})")
void insert(User user);
}
建立controller
package cn.tedu.boot05.controller;
import cn.tedu.boot05.entity.User;
import cn.tedu.boot05.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired(required = false)
UserMapper mapper;
@RequestMapping("/reg")
public String reg(User user){
System.out.println("user = " + user);
//拿用户输入的用户名从数据库里面查询
User u = mapper.selectByUsername(user.getUsername());
if (u!=null){
return "用户名已存在!";
}
//把用户信息保存到数据库....
mapper.insert(user);
return "注册成功!<a href='/'>返回首页</a>";
}
@RequestMapping("/login")
public String login(User user){
System.out.println("user = " + user);
//通过用户输入的用户名查询到数据库里面的密码
User u = mapper.selectByUsername(user.getUsername());
if (u!=null){//代表查询到了
//拿用户输入的密码和查询到的密码比较
if (u.getPassword().equals(user.getPassword())){
return "登陆成功!<a href='/'>回到首页</a>";
}
return "密码错误!<a href='/login.html'>重新登录</a>";
}
return "用户名不存在!<a href='/login.html'>重新登录</a>";
}
}