公司新来的实习生,不太理解代码基础架构,比如service层,manager层,在这里简单写个示例,提供新入门的朋友。
以获取用户信息为例,做个简单示例:
Controller层
@RestController
@RequestMapping("/v1")
@Slf4j
public class UserController {
@Autowired
UserService userService;
/**
* 获取用户信息
*/
@GetMapping("/{userId}")
public Result<User> (@PathVariable("userId") Integer userId) {
return response(userService.getInfo(userId));
}
}
Service层
/**
* @author xx
* @date 2022/3/25
*/
public interface UserService extends IService<User> {
/**
* 获取信息
* @param id
* @return
*/
User getInfo(Integer userId);
}
实现层 ServiceImpl
/**
* @author xx
* @date 2022/3/25
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserDao, User> implements UserService {
@Override
public User insert(Integer id) {
this.getById(id);
}
}
Dao层
public interface UserDao extends BaseMapper<User> {
int insert(User record);
}
Mapper层
<?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.manager.UserDao">
<resultMap id="BaseResultMap" type="com.model.User">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="msg" jdbcType="VARCHAR" property="msg" />
</resultMap>
<sql id="Base_Column_List">
id, msg
</sql>
<insert id="insert" keyColumn="id" keyProperty="id" parameterType="com.model.User" useGeneratedKeys="true">
insert into user (msg)
values (#{msg,jdbcType=VARCHAR})
</insert>
</mapper>
实体 User
/**
*
* @author
*/
@Data
public class User implements Serializable {
/**
* 自增主键
*/
private Long id;
/**
* 信息
*/
private String msg;
}