1、首先我们需要在idea中创建spring boot项目,可以看我前面写到的博客:https://blog.csdn.net/qq_41790332/article/details/100065523
2、然后我们的项目结构如下:
pom.xml文件中需要引进的依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId> javax.persistence</groupId>
<artifactId> persistence-api</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.6</version>
</dependency>
3、配置application.properties文件
spring.mvc.view.prefix=classPath:/templates/
spring.mvc.view.suffix=*.html
server.port=8080
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/usertest?useUnicode=true&serverTimezone=UTC&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456
#用来在控制台输出JPA自动生成的sql语句。
spring.jpa.show-sql=true
spring.jpa.database=mysql
spring.jpa.hibernate.ddl-auto=update
4、创建我们实体代码User.java
/**
* 描述:用户实体
* author:单和霖
* Create date 2019-11-6 19:40
*/
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(generator = "a_native")
// 指定主键生成策略,默认为自增
@GenericGenerator(name = "a_native", strategy = "native")
private int id;
private String username;
private String password;
private String email;
private String picture;
private String turename;
//省略get set 方法
@Override
public String toString(){
return "username="+username+" password="+password+"turename"+turename+"picture"+picture;
}
}
5、接下来是我们的dao层userDao.java
public interface UserDao extends JpaRepository<User,Integer> {
/**
* 描述:通过username查询用户的相关信息
* author:shanhelin
* Create date 2019-11-6 19:45
* @param username
* @return
*/
@Query(value="select * from user where username=?",nativeQuery=true)
User findByUsername(String username);
}
6、UserService.java文件:
public interface UserService {
/**
* 描述:通过username查询用户相关信息
* author:yulin
* Create date 2019-11-16
*/
User findByUsername(String username);
}
7、UserServiceImpl.java文件
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User findByUsername(String username) {
return userDao.findByUsername( username );
}
}
8、最后就是我们的controller层:
@Controller
public class WebController {
@Autowired
private UserService userService;
@ResponseBody
@RequestMapping(value = "/adminindex/index", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
public int getByJSON(@RequestBody JSONObject jsonParam, HttpServletRequest request, Model model, HttpServletResponse response) {
String code=jsonParam.getString("mytry");
HttpSession session = request.getSession();
String code2 = (String) session.getAttribute("result");
System.out.println( code2 );
if(code.equalsIgnoreCase(code2)){
//验证码比对正确,进行下一步判断
User user=userService.findByUsername( jsonParam.getString("username") );
String password = Md5Util.MD5(jsonParam.getString("password"));
if(user.getPassword().equals( password )){
Integer id=user.getId();
session.setAttribute("id", id);
return 1;
}
return 0;
}
return 2;
}
}
9、这样之后前台html界面我就在这省略了,可以到我们github上边去下载源码:https://github.com/shanhelin/webwork
spring boot+jpa会自动创建相关的数据库表,所以我这边没有写数据库表,下面是我项目运行的首界面: