一、创建SpringBoot项目。
添加如下依赖:MySQL是为了后面改项目的数据库方便的
2、创建实体对象,User ,其中,@Entity对应数据库中的表 @ID 指明主键 @GeneratedValue(strategy = GenerationType.IDENTITY)指明其唯一性。其中,需要构造无参构造方法和有参构造方法。
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
private String telephone;
protected User() {
}
public User(Long id, String username, String password, String telephone) {
this.id = id;
this.username = username;
this.password = password;
this.telephone = telephone;
}
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;
}
public String getTelephone() {
return telephone;
}
public void setTelephone(String telephone) {
this.telephone = telephone;
}
}
3、创建Controller
@RestController
public class UserController {
@Autowired
private UserRepository userRepository;
@RequestMapping("/index.do")
public ModelAndView login() {
return new ModelAndView("index.html");
}
@RequestMapping("/user/register.do")
public ModelAndView register(User user) {
System.out.println(user.getUsername() + " "+user.getPassword()+ " "+user.getTelephone());
userRepository.save(user);
return new ModelAndView("redirect:/index.do");
}
@RequestMapping("/user/login.do")
public ModelAndView login(User user) {
System.out.println(user.getUsername() + " "+user.getPassword());
User userLogin = userRepository.findByUsernameAndPassword(user.getUsername(), user.getPassword());
if(userLogin == null) {
return new ModelAndView("redirect:/index.do");
}else {
return new ModelAndView("/welcome.html");
}
}
}
4、Repository 层 ,继承了CrudRepository<S,ID>方法,S对应处理的实体对象,ID对应主键的类型。
其中,CrudRepository有以下这些方法可使用,sava
savaAll
findById
existsById
findAll
findAllById
count
deleteById
delete
deleteAll
以下的findByUsernameAndPassword是自己添加的方法、并且必须遵循SpringDataJPA命名规则否则会报错
public interface UserRepository extends CrudRepository<User, Long> {
//必须遵循Spring Data JPA规则命名
User findByUsernameAndPassword(String username,String password);
}
5、自定义配置
#thymeleaf 编码格式
spring.thymeleaf.encoding=UTF-8
#热部署thymeleaf
spring.thymeleaf.cache=false
#使用HTML5标准
spring.thymeleaf.mode=HTML5
#使用h2控制台
spring.h2.console.enabled=true
6、前端页面在此就不展示了。
7、查看H2控制台,其中JDBC URL:必须为jdbc:h2:mem:testdb
成功进入H2控制台,可以在此查看此时暂存的数据,H2作为内存式数据库时如果服务器关闭,那么数据就会消失。保存数据需要配置保存路径。
8、Run as -> java application ,成功看结果。