实现了老师表的增删改查
service层
@Service
public class TeacherService {
@Resource
private TeacherMapper teacherMapper;
//查询老师基本信息
public Teacher findById(int id){
Teacher teacher = teacherMapper.selectByPrimaryKey(id);
return teacher;
}
public Teacher findByName(String name){
Teacher teacher = teacherMapper.selectByName(name);
return teacher;
}
public List<Teacher> findAll(){
List<Teacher> teacher = teacherMapper.selectAll();
return teacher;
}
//删除老师
public int delTeacher(int id ){
return teacherMapper.deleteByPrimaryKey(id);
}
//添加老师
public int addTeacher(Teacher teacher){
return teacherMapper.insertSelective(teacher);
}
//更改老师信息
public int updateTeacherInfo(Teacher teacher){
return teacherMapper.updateByPrimaryKeySelective(teacher);
}
//按标签筛选
public List<Teacher> findByGender(String gender){
List<Teacher> teacher = teacherMapper.selectByGender(gender);
return teacher;
}
public List<Teacher> findByDname(String dname){
List<Teacher> teacher = teacherMapper.selectByDname(dname);
return teacher;
}
public List<Teacher> findByGenderDname(String gender,String dname){
List<Teacher> teacher = teacherMapper.selectByGenderDname(gender,dname);
return teacher;
}
}
controller层
@RestController
@RequestMapping("/teacher")
public class TeacherController {
@Resource
private TeacherService teacherService;
//查询基本信息
@RequestMapping(value = "/findById")
@ResponseBody
public Teacher findById(HttpServletRequest request){
return teacherService.findById(Integer.parseInt(request.getParameter("tea_id")));
}
@RequestMapping(value = "/findByName")
@ResponseBody
public Teacher findByName(HttpServletRequest request){
return teacherService.findByName(request.getParameter("tea_name"));
}
@RequestMapping(value = "/findAll")
@ResponseBody
public List<Teacher> findAll(){
return teacherService.findAll();
}
//删除老师信息
@RequestMapping(value = "/delete")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result delTeacher(HttpServletRequest request){
int i = teacherService.delTeacher(Integer.parseInt(request.getParameter("tea_id")));
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("");
}
}
//按标签筛选
@RequestMapping(value = "/findByGender")
@ResponseBody
public List<Teacher> findByGender(HttpServletRequest request){
return teacherService.findByGender(request.getParameter("tea_gender"));
}
@RequestMapping(value = "/findByDname")
@ResponseBody
public List<Teacher> findByDname(HttpServletRequest request){
return teacherService.findByDname(request.getParameter("tea_dname"));
}
@RequestMapping(value = "/findByGenderDname")
@ResponseBody
public List<Teacher> findByGenderGrade(HttpServletRequest request){
return teacherService.findByGenderDname(request.getParameter("tea_gender"),request.getParameter("tea_dname"));
}
/**
* 添加老师
* @param request
* @param file 前端传来的照片文件
* @return
* @throws ParseException
* @throws IOException
*/
@RequestMapping(value = "/addTea")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result addStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
Teacher tea =new Teacher();
tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
tea.setTeaName(request.getParameter("tea_name"));
tea.setTeaGender(request.getParameter("tea_gender"));
tea.setTeaDname(request.getParameter("tea_dname"));
tea.setPosition(request.getParameter("position"));
tea.setHighestEdu(request.getParameter("highest_edu"));
tea.setTeaTelNum(request.getParameter("tea_tel_num"));
tea.setFinalEdu(request.getParameter("final_edu"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date=new Date();
if(request.getParameter("tea_birthday")!=null) {
date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
}
tea.setTeaBirthday(date);
tea.setMailAddress(request.getParameter("mail_address"));
tea.setWorkAddress(request.getParameter("work_address"));
tea.setPersonIntro(request.getParameter("person_intro"));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date1=new Date();
if(request.getParameter("tea_doc_time")!=null) {
date1 = simpleDateFormat1.parse(request.getParameter("tea_doc_time"));
}
tea.setTeaDocTime(date1);
Date date2=new Date();
if(request.getParameter("tea_master_time")!=null) {
date2 = simpleDateFormat1.parse(request.getParameter("tea_master_time"));
}
tea.setTeaMasterTime(date2);
tea.setSearchDirection(request.getParameter("search_direction"));
if(file!=null) {
tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
}
int i=teacherService.addTeacher(tea);
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("操作成功");
}
}
/**
* 老师基本信息更改
* @param request
* @param file 前端传来的照片文件
* @return
* @throws ParseException
* @throws IOException
*/
@RequestMapping(value = "/updateTeaInfo")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result updateTeacherInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
Teacher tea =new Teacher();
tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
tea.setTeaName(request.getParameter("tea_name"));
tea.setTeaGender(request.getParameter("tea_gender"));
tea.setTeaDname(request.getParameter("tea_dname"));
tea.setPosition(request.getParameter("position"));
tea.setHighestEdu(request.getParameter("highest_edu"));
tea.setTeaTelNum(request.getParameter("tea_tel_num"));
tea.setFinalEdu(request.getParameter("final_edu"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date=new Date();
if(request.getParameter("tea_birthday")!=null) {
date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
}
tea.setTeaBirthday(date);
tea.setMailAddress(request.getParameter("mail_address"));
tea.setWorkAddress(request.getParameter("work_address"));
tea.setPersonIntro(request.getParameter("person_intro"));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date1=new Date();
if(request.getParameter("tea_doc_time")!=null) {
date1 = simpleDateFormat.parse(request.getParameter("tea_doc_time"));
}
tea.setTeaDocTime(date1);
Date date2=new Date();
if(request.getParameter("tea_master_time")!=null) {
date2 = simpleDateFormat.parse(request.getParameter("tea_master_time"));
}
tea.setTeaMasterTime(date2);
tea.setSearchDirection(request.getParameter("search_direction"));
if(file!=null) {
tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
}
int i=teacherService.updateTeacherInfo(tea);
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("操作成功");
}
}
/**
* 将照片文件保存到本地
* @param inputStream 输入流
* @param fileName 照片文件名
* @return 返回字节数组 写入数据库中的blob对象
*/
private byte[] savePic(InputStream inputStream, String fileName) {
byte[] barray=null;
OutputStream os = null;
try {
String path = "./static/pictures";
byte[] bs = new byte[1024 * 1024 * 16];
int len;
File tempFile = new File(path);
os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
while ((len = inputStream.read(bs)) != -1) {
os.write(bs, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
File tempFile = new File("./static/pictures/"+fileName);
barray=fileConvertToByteArray(tempFile);
return barray;
}
/**
* 将照片文件转换为字节数组
* @param file
* @return 字节数组
*/
private byte[] fileConvertToByteArray(File file) {
byte[] data = null;
try {
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len;
byte[] buffer = new byte[1024*1024*16];
while ((len = fis.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
data = baos.toByteArray();
fis.close();
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
}
controller层
@RestController
@RequestMapping("/teacher")
public class TeacherController {
@Resource
private TeacherService teacherService;
//查询基本信息
@RequestMapping(value = "/findById")
@ResponseBody
public Teacher findById(HttpServletRequest request){
return teacherService.findById(Integer.parseInt(request.getParameter("tea_id")));
}
@RequestMapping(value = "/findByName")
@ResponseBody
public Teacher findByName(HttpServletRequest request){
return teacherService.findByName(request.getParameter("tea_name"));
}
@RequestMapping(value = "/findAll")
@ResponseBody
public List<Teacher> findAll(){
return teacherService.findAll();
}
//删除老师信息
@RequestMapping(value = "/delete")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result delTeacher(HttpServletRequest request){
int i = teacherService.delTeacher(Integer.parseInt(request.getParameter("tea_id")));
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("");
}
}
//按标签筛选
@RequestMapping(value = "/findByGender")
@ResponseBody
public List<Teacher> findByGender(HttpServletRequest request){
return teacherService.findByGender(request.getParameter("tea_gender"));
}
@RequestMapping(value = "/findByDname")
@ResponseBody
public List<Teacher> findByDname(HttpServletRequest request){
return teacherService.findByDname(request.getParameter("tea_dname"));
}
@RequestMapping(value = "/findByGenderDname")
@ResponseBody
public List<Teacher> findByGenderGrade(HttpServletRequest request){
return teacherService.findByGenderDname(request.getParameter("tea_gender"),request.getParameter("tea_dname"));
}
/**
* 添加老师
* @param request
* @param file 前端传来的照片文件
* @return
* @throws ParseException
* @throws IOException
*/
@RequestMapping(value = "/addTea")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result addStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
Teacher tea =new Teacher();
tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
tea.setTeaName(request.getParameter("tea_name"));
tea.setTeaGender(request.getParameter("tea_gender"));
tea.setTeaDname(request.getParameter("tea_dname"));
tea.setPosition(request.getParameter("position"));
tea.setHighestEdu(request.getParameter("highest_edu"));
tea.setTeaTelNum(request.getParameter("tea_tel_num"));
tea.setFinalEdu(request.getParameter("final_edu"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date=new Date();
if(request.getParameter("tea_birthday")!=null) {
date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
}
tea.setTeaBirthday(date);
tea.setMailAddress(request.getParameter("mail_address"));
tea.setWorkAddress(request.getParameter("work_address"));
tea.setPersonIntro(request.getParameter("person_intro"));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date1=new Date();
if(request.getParameter("tea_doc_time")!=null) {
date1 = simpleDateFormat1.parse(request.getParameter("tea_doc_time"));
}
tea.setTeaDocTime(date1);
Date date2=new Date();
if(request.getParameter("tea_master_time")!=null) {
date2 = simpleDateFormat1.parse(request.getParameter("tea_master_time"));
}
tea.setTeaMasterTime(date2);
tea.setSearchDirection(request.getParameter("search_direction"));
if(file!=null) {
tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
}
int i=teacherService.addTeacher(tea);
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("操作成功");
}
}
/**
* 老师基本信息更改
* @param request
* @param file 前端传来的照片文件
* @return
* @throws ParseException
* @throws IOException
*/
@RequestMapping(value = "/updateTeaInfo")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result updateTeacherInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
Teacher tea =new Teacher();
tea.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
tea.setTeaName(request.getParameter("tea_name"));
tea.setTeaGender(request.getParameter("tea_gender"));
tea.setTeaDname(request.getParameter("tea_dname"));
tea.setPosition(request.getParameter("position"));
tea.setHighestEdu(request.getParameter("highest_edu"));
tea.setTeaTelNum(request.getParameter("tea_tel_num"));
tea.setFinalEdu(request.getParameter("final_edu"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date=new Date();
if(request.getParameter("tea_birthday")!=null) {
date = simpleDateFormat.parse(request.getParameter("tea_birthday"));
}
tea.setTeaBirthday(date);
tea.setMailAddress(request.getParameter("mail_address"));
tea.setWorkAddress(request.getParameter("work_address"));
tea.setPersonIntro(request.getParameter("person_intro"));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date1=new Date();
if(request.getParameter("tea_doc_time")!=null) {
date1 = simpleDateFormat.parse(request.getParameter("tea_doc_time"));
}
tea.setTeaDocTime(date1);
Date date2=new Date();
if(request.getParameter("tea_master_time")!=null) {
date2 = simpleDateFormat.parse(request.getParameter("tea_master_time"));
}
tea.setTeaMasterTime(date2);
tea.setSearchDirection(request.getParameter("search_direction"));
if(file!=null) {
tea.setTeaPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
}
int i=teacherService.updateTeacherInfo(tea);
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("操作成功");
}
}
/**
* 将照片文件保存到本地
* @param inputStream 输入流
* @param fileName 照片文件名
* @return 返回字节数组 写入数据库中的blob对象
*/
private byte[] savePic(InputStream inputStream, String fileName) {
byte[] barray=null;
OutputStream os = null;
try {
String path = "./static/pictures";
byte[] bs = new byte[1024 * 1024 * 16];
int len;
File tempFile = new File(path);
os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
while ((len = inputStream.read(bs)) != -1) {
os.write(bs, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
os.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
File tempFile = new File("./static/pictures/"+fileName);
barray=fileConvertToByteArray(tempFile);
return barray;
}
/**
* 将照片文件转换为字节数组
* @param file
* @return 字节数组
*/
private byte[] fileConvertToByteArray(File file) {
byte[] data = null;
try {
FileInputStream fis = new FileInputStream(file);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int len;
byte[] buffer = new byte[1024*1024*16];
while ((len = fis.read(buffer)) != -1) {
baos.write(buffer, 0, len);
}
data = baos.toByteArray();
fis.close();
baos.close();
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
}