书接上回
1.创建好一个全新的SpringBoot工程,并启动成功
项目结构和pom.xml如下
2. 在cykj下新建dto文件夹(和App同级)
在文件夹dto中编写ResponseDTO用于响应数据。
代码如下:
public class ResponseDTO {
private int code; //返回码
private Object data; //返回数据
private String msg; //返回提示文字
public ResponseDTO(int code, String msg, Object data){
this.code=code;
this.data=data;
this.msg=msg;
}
public static ResponseDTO success() {
return new ResponseDTO( 1,"success",null);
}
public static ResponseDTO success(int code, Object data) {
return new ResponseDTO( code,"success" , data);
}
public static ResponseDTO success(Object data) {
return new ResponseDTO( 1,"success" , data);
}
public static ResponseDTO success(int code, String msg, Object data) {
return new ResponseDTO( code,msg , data);
}
public static ResponseDTO error() {
return new ResponseDTO(0, "error" , null);
}
public static ResponseDTO error(int code) {
return new ResponseDTO(code, "error" , null);
}
public static ResponseDTO error(int code, String msg) {
return new ResponseDTO( code, msg, null);
}
public static ResponseDTO error(int code, String msg, Object data) {
return new ResponseDTO( code, msg, data);
}
public static ResponseDTO error(String msg) {
return new ResponseDTO( 0, msg, null);
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
3. 在cykj下创建service文件夹(和App同级)
在service文件加下创建UserService接口用于管理业务逻辑
代码如下:
public interface UserService {
ResponseDTO Login(String account, String pwd);
}
4. 在service文件夹下创建impl文件夹(和UserService同级)
在impl中创建UserService接口的实现类UserServiceImpl (要加注解@Service)
代码如下:
@Service
public class UserServiceImpl implements UserService {
@Override
public ResponseDTO Login(String account, String pwd) {
return null;
}
}
到这发现数据库还没有查,所以查数据库先 。
5. 导入mysql依赖和mybatis依赖
SpringBoot操作数据库需要用到的两个依赖
<!--mysql依赖--> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.32</version> </dependency> <!--mybatis依赖--> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version> </dependency>
6. 在cykj下创建pojo并获得所需的实体类。
创建pojo
获得实体类:
需要获得实体类先连接数据库
连接成功后找到需要的实体类,右键
找到当前项目的pojo,点击OK,导出实体类。
导出结果如下:(会有一个报错)
修改报错,选择正确的路径即可:
7. 在cykj下创建mapper文件夹
在mapper文件夹中创建UserMapper接口(添加注解@Mapper)
@Mapper
public interface UserMapper {
CyAdmin login(@Param("account") String account, @Param("pwd") String pwd);
}
8. 创建UserMapper.xml文件
在main上右键
弹出弹窗后双击resources
将生成resources,和java同级。
在resources中新建以下结构(结构名取决于java中的名字)
在mapper中新建UserMapper.xml文件,并编写相关的sql语句
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cykj.mapper.UserMapper">
<select id="login" resultType="com.cykj.pojo.CyAdmin">
select *
from cy_admin
where
admin_account=#{account} and
admin_pwd=#{pwd} and
admin_is_delete = 0
</select>
</mapper>
9. 创建配置文件application.yml
设置配置文件中的数据库信息
#配置文件 spring: datasource: url: jdbc:mysql://ip地址:3306/数据库 username: root password: 密码 driver-class-name: com.mysql.cj.jdbc.Driver mybatis: configuration: #开题驼峰命名 map-underscore-to-camel-case: true
10.编写业务逻辑的实现类
将UserMapper 通过自动注入的形式引入类,然后编写业务逻辑。
@Service
public class UserServiceImpl implements UserService {
@Autowired
UserMapper userMapper;
@Override
public ResponseDTO Login(String account, String pwd) {
CyAdmin login = userMapper.login(account, pwd);
if (login==null) {
return ResponseDTO.error("账号或密码错误");
}else {
return ResponseDTO.success("登录成功");
}
}
}
11.创建controller文件夹
在UserController中提供对外接口
@Controller
@RequestMapping("/admin")
public class UserController {
@Autowired
public UserService userService;
@RequestMapping("/login")
@ResponseBody
public ResponseDTO Login(String account, String pwd){
return userService.Login(account, pwd);
}
}
12.运行项目并登录访问
启动项目:
登陆成功:
总结
项目还有很多地方可以优化,但登录成功。