1.实现了图片的上传功能
/**
* 将照片文件保存到本地
* @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;
}
2.实现了学生的增、改、查
/**
* 添加学生
* @param request
* @param file 前端传来的照片文件
* @return
* @throws ParseException
* @throws IOException
*/
@RequestMapping(value = "/addStu")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result addStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
Student stu =new Student();
stu.setStuId(Integer.parseInt(request.getParameter("stu_id")));
stu.setStuName(request.getParameter("stu_name"));
stu.setStuGender(request.getParameter("stu_gender"));
stu.setStuDname(request.getParameter("stu_dname"));
stu.setStuMajor(request.getParameter("stu_major"));
stu.setStuGrade(request.getParameter("stu_grade"));
stu.setStuTelNum(request.getParameter("stu_tel_num"));
stu.setIdCardNum(request.getParameter("id_card_num"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date=new Date();
if(request.getParameter("stu_birthday")!=null) {
date = simpleDateFormat.parse(request.getParameter("stu_birthday"));
}
stu.setStuBirthday(date);
stu.setNation(request.getParameter("nation"));
stu.setPolitic(request.getParameter("politic"));
if(request.getParameter("qq_num")!=null) {
stu.setQqNum(Integer.parseInt(request.getParameter("qq_num")));
}
stu.setWechatNum(request.getParameter("wechat_num"));
stu.setMailAddress(request.getParameter("mail_address"));
stu.setEmergencyContact(request.getParameter("emergency_contact"));
stu.setAddressNow(request.getParameter("address_now"));
stu.setLocAddress(request.getParameter("loc_address"));
stu.setHomeAddress(request.getParameter("home_address"));
stu.setStayType(request.getParameter("stay_type"));
stu.setPersonIntro(request.getParameter("person_intro"));
stu.setStudySystem(request.getParameter("study_system"));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date1=new Date();
if(request.getParameter("began_date")!=null) {
date1 = simpleDateFormat.parse(request.getParameter("began_date"));
}
stu.setBeganDate(date1);
stu.setMonitor(request.getParameter("monitor"));
if(request.getParameter("tea_id")!=null) {
stu.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
}
if(request.getParameter("study_project_id")!=null) {
stu.setStudyProjectId(Integer.parseInt(request.getParameter("study_project_id")));
}
if(request.getParameter("study_plan_id")!=null) {
stu.setStudyPlanId(Integer.parseInt(request.getParameter("study_plan_id")));
}
if(file!=null) {
stu.setStuPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
}
int i=StuService.addStudent(stu);
if(i == 0) {
return Result.fail("添加失败");
}
else {
return Result.succ("");
}
}
/**
* 学生基本信息更改
* @param request
* @param file 前端传来的照片文件
* @return
* @throws ParseException
* @throws IOException
*/
@RequestMapping(value = "/updateStuInfo")
@ResponseBody
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public Result updateStudentInfo(HttpServletRequest request, MultipartFile file) throws ParseException, IOException {
Student stu =new Student();
stu.setStuId(Integer.parseInt(request.getParameter("stu_id")));
stu.setStuName(request.getParameter("stu_name"));
stu.setStuGender(request.getParameter("stu_gender"));
stu.setStuDname(request.getParameter("stu_dname"));
stu.setStuMajor(request.getParameter("stu_major"));
stu.setStuGrade(request.getParameter("stu_grade"));
stu.setStuTelNum(request.getParameter("stu_tel_num"));
stu.setIdCardNum(request.getParameter("id_card_num"));
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date=new Date();
if(request.getParameter("stu_birthday")!=null) {
date = simpleDateFormat.parse(request.getParameter("stu_birthday"));
}
stu.setStuBirthday(date);
stu.setNation(request.getParameter("nation"));
stu.setPolitic(request.getParameter("politic"));
if(request.getParameter("qq_num")!=null) {
stu.setQqNum(Integer.parseInt(request.getParameter("qq_num")));
}
stu.setWechatNum(request.getParameter("wechat_num"));
stu.setMailAddress(request.getParameter("mail_address"));
stu.setEmergencyContact(request.getParameter("emergency_contact"));
stu.setAddressNow(request.getParameter("address_now"));
stu.setLocAddress(request.getParameter("loc_address"));
stu.setHomeAddress(request.getParameter("home_address"));
stu.setStayType(request.getParameter("stay_type"));
stu.setPersonIntro(request.getParameter("person_intro"));
stu.setStudySystem(request.getParameter("study_system"));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
Date date1=new Date();
if(request.getParameter("began_date")!=null) {
date1 = simpleDateFormat.parse(request.getParameter("began_date"));
}
stu.setBeganDate(date1);
stu.setMonitor(request.getParameter("monitor"));
if(request.getParameter("tea_id")!=null) {
stu.setTeaId(Integer.parseInt(request.getParameter("tea_id")));
}
if(request.getParameter("study_project_id")!=null) {
stu.setStudyProjectId(Integer.parseInt(request.getParameter("study_project_id")));
}
if(request.getParameter("study_plan_id")!=null) {
stu.setStudyPlanId(Integer.parseInt(request.getParameter("study_plan_id")));
}
if(file!=null) {
stu.setStuPhoto(savePic(file.getInputStream(), file.getOriginalFilename()));
}
int i=StuService.updateStudentInfo(stu);
if(i == 0) {
return Result.fail("更新失败");
}
else {
return Result.succ("");
}
}
//查询基本信息
@RequestMapping(value = "/findbyid")
@ResponseBody
public Student findById(HttpServletRequest request){
return StuService.findById(Integer.parseInt(request.getParameter("stu_id")));
}
@RequestMapping(value = "/findbyname")
@ResponseBody
public Student findByName(HttpServletRequest request){
return StuService.findByName(request.getParameter("stu_name"));
}
3.实现了按标签进行筛选信息
//按标签筛选
@RequestMapping(value = "/findbygender")
@ResponseBody
public List<Student> findByGender(HttpServletRequest request){
return StuService.findByGender(request.getParameter("stu_gender"));
}
@RequestMapping(value = "/findbymajor")
@ResponseBody
public List<Student> findByMajor(HttpServletRequest request){
return StuService.findByMajor(request.getParameter("stu_major"));
}
@RequestMapping(value = "/findbygrade")
@ResponseBody
public List<Student> findByGrade(HttpServletRequest request){
return StuService.findByGrade(request.getParameter("stu_grade"));
}
@RequestMapping(value = "/findbygrademajor")
@ResponseBody
public List<Student> findByGradeMajor(HttpServletRequest request){
return StuService.findByGradeMajor(request.getParameter("stu_grade"),request.getParameter("stu_major"));
}
@RequestMapping(value = "/findbygendermajor")
@ResponseBody
public List<Student> findByGenderMajor(HttpServletRequest request){
return StuService.findByGenderMajor(request.getParameter("stu_gender"),request.getParameter("stu_major"));
}
@RequestMapping(value = "/findbygendergrade")
@ResponseBody
public List<Student> findByGenderGrade(HttpServletRequest request){
return StuService.findByGenderGrade(request.getParameter("stu_gender"),request.getParameter("stu_grade"));
}
@RequestMapping(value = "/findbygendergrademajor")
@ResponseBody
public List<Student> findByGenderGradeMajor(HttpServletRequest request){
return StuService.findByGenderGradeMajor(request.getParameter("stu_gender"),request.getParameter("stu_grade"),request.getParameter("stu_major"));
}
相关StudentMapper.xml文件添加的查询语句如下:
<select id="selectByPrimaryKey" resultMap="ResultMapWithBLOBs" parameterType="java.lang.Integer" >
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_id = #{stuId,jdbcType=INTEGER}
</select>
<select id="selectByName" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_name = #{stuName,jdbcType=VARCHAR}
</select>
<select id="selectByGender" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_gender = #{stuGender,jdbcType=VARCHAR}
</select>
<select id="selectByMajor" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_major = #{stuMajor,jdbcType=VARCHAR}
</select>
<select id="selectByGrade" resultMap="ResultMapWithBLOBs" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_grade = #{stuGrade,jdbcType=VARCHAR}
</select>
<select id="selectByGradeMajor" resultMap="ResultMapWithBLOBs">
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_grade = #{stuGrade,jdbcType=VARCHAR} and stu_major = #{stuMajor,jdbcType=VARCHAR}
</select>
<select id="selectByGenderMajor" resultMap="ResultMapWithBLOBs">
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_gender = #{stuGender,jdbcType=VARCHAR} and stu_major = #{stuMajor,jdbcType=VARCHAR}
</select>
<select id="selectByGenderGrade" resultMap="ResultMapWithBLOBs">
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_gender = #{stuGender,jdbcType=VARCHAR} and stu_grade = #{stuGrade,jdbcType=VARCHAR}
</select>
<select id="selectByGenderGradeMajor" resultMap="ResultMapWithBLOBs">
select
<include refid="Base_Column_List" />
,
<include refid="Blob_Column_List" />
from student
where stu_gender = #{stuGender,jdbcType=VARCHAR} and stu_grade = #{stuGrade,jdbcType=VARCHAR} and stu_major = #{stuMajor,jdbcType=VARCHAR}
</select>