[feat][M]: 引入mybatis,并完成我的申请记录接口

master
Romesum 5 years ago
parent e76bf59263
commit 3ab7b73ec9

@ -68,7 +68,11 @@
<artifactId>easyexcel</artifactId>
<version>1.1.2-beta5</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>

@ -4,6 +4,7 @@ package com.hzu.bookingsystem.controller;
import com.hzu.bookingsystem.VO.ResultVO;
import com.hzu.bookingsystem.bean.LabRecordBean;
import com.hzu.bookingsystem.converter.Map2Object;
import com.hzu.bookingsystem.dto.LabRecordDTO;
import com.hzu.bookingsystem.service.LabRecordService;
import com.hzu.bookingsystem.utils.ResultVOUtil;
import org.springframework.beans.factory.annotation.Autowired;
@ -21,6 +22,8 @@ public class LabRecordController {
@Autowired
private LabRecordService labrecordService;
@Autowired
private UserController userController;
// 根据id查看实验室记录
@GetMapping(value = "/findlabrecord/{lr_id}")
public ResultVO<Map<String, LabRecordBean>> FindLabRecordId(@PathVariable("lr_id") Integer lr_id) {
@ -73,4 +76,13 @@ public class LabRecordController {
return ResultVOUtil.success();
}
/**
* author
* uid
*/
@GetMapping("/getRecordBySelf")
public ResultVO getRecordBySelf(HttpServletRequest request){
List<LabRecordDTO> labRecordDTOList = labrecordService.findRecordListByUId(userController.getUIdByCookie(request));
return ResultVOUtil.success(labRecordDTOList);
}
}

@ -0,0 +1,38 @@
package com.hzu.bookingsystem.dto;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
@Data
public class LabRecordDTO {
// 学年
private String year;
// 学期
private Integer semester;
// 几周
private Integer week;
// 周几
private Integer day;
// 第几节课
private Integer time;
private Integer status;
//UC
private String course_name;
private Integer population;
private String classes;
//LAB
private String lab_name;
private String position;
}

@ -0,0 +1,46 @@
package com.hzu.bookingsystem.repository;
import com.hzu.bookingsystem.dto.LabRecordDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface LabRecordDTOMapper {
@Select("SELECT " +
" tb_lab_time.`year`, " +
" tb_lab_time.semester, " +
"COUNT(tb_lab_time.`week`) AS `week`,"+
" tb_lab_time.`day`, " +
" tb_lab_time.time, " +
" tb_lab_record.`status`, " +
" tb_user_course.`name` AS course_name, " +
" tb_user_course.population, " +
" tb_user_course.classes, " +
" tb_lab.`name` AS lab_name, " +
" tb_lab.position " +
"FROM " +
" tb_lab_time " +
" INNER JOIN " +
" tb_lab_record " +
" ON " +
" tb_lab_time.lt_id = tb_lab_record.lt_id " +
" INNER JOIN " +
" tb_lab " +
" ON " +
" tb_lab_time.lab_id = tb_lab.lab_id, " +
" tb_user_course " +
"WHERE " +
" tb_lab_time.lt_id = tb_lab_record.lt_id AND " +
" tb_lab_record.uc_id = tb_user_course.uc_id AND " +
" tb_lab_time.lab_id = tb_lab.lab_id AND " +
" tb_user_course.u_id = #{uId} " +
"GROUP BY " +
" tb_lab_time.`year`, " +
" tb_lab_time.semester, " +
" tb_lab_time.`day`, " +
" tb_lab_time.time, " +
" tb_lab_record.`status`")
List<LabRecordDTO> getRecordListByUId(Integer uId);
}

@ -2,6 +2,7 @@ package com.hzu.bookingsystem.service;
import com.hzu.bookingsystem.bean.LabRecordBean;
import com.hzu.bookingsystem.dto.LabRecordDTO;
import java.util.List;
@ -65,6 +66,11 @@ public interface LabRecordService {
String[][] getcourseByuser(Integer u_id , String year ,Integer semester ) ;
/**
* author
*
*/
public List<LabRecordDTO> findRecordListByUId(Integer uId);

@ -4,15 +4,23 @@ import com.hzu.bookingsystem.bean.LabRecordBean;
import com.hzu.bookingsystem.bean.LabTimeBean;
import com.hzu.bookingsystem.bean.UserBean;
import com.hzu.bookingsystem.bean.UserCourseBean;
import com.hzu.bookingsystem.dto.LabRecordDTO;
import com.hzu.bookingsystem.dto.LabTimeDTO;
import com.hzu.bookingsystem.repository.LabRecordDTOMapper;
import com.hzu.bookingsystem.repository.LabRecordRepository;
import com.hzu.bookingsystem.service.LabRecordService;
import com.hzu.bookingsystem.service.LabTimeService;
import com.hzu.bookingsystem.service.UserCourseService;
import com.hzu.bookingsystem.service.UserService;
import org.hibernate.SQLQuery;
import org.hibernate.transform.Transformers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import javax.transaction.Transactional;
import java.util.List;
@ -27,6 +35,11 @@ public class LabRecordServiceImpl implements LabRecordService{
@Resource
private UserService userservice ;
@Resource
private LabRecordDTOMapper labRecordDTOMapper;
@PersistenceContext
private EntityManager entityManager;
@Override
public LabRecordBean add(LabRecordBean labrcecord) {
labrcecord.setLrId(null);
@ -147,4 +160,16 @@ public class LabRecordServiceImpl implements LabRecordService{
}
return value_name ;
}
/**
* uid
* author
*/
@Override
public List<LabRecordDTO> findRecordListByUId(Integer uId) {
return labRecordDTOMapper.getRecordListByUId(13);
}
}

@ -23,4 +23,6 @@ spring:
useGlobalDataourceStat: true
connectionProperties: druid.stat.mergeSql=true:druid.stat.slowSqlMillis=500
mybatis:
# 指定sql映射文件位置
mapper-locations: classpath:mybatis/mapper/*.xml

Loading…
Cancel
Save