初识 Spring(24)---(SpringMVC实战--构建学生管理系统(14))

SpringMVC实战--构建学生管理系统(14)

(源代码见仓库:https://gitee.com/jianghao233/course)

利用 Ajax 技术 避免提交数据库中已存在数据

(解决后台验证数据库数据与中文乱码问题)

修改 TbCourseMapper.java

package com.neuedu.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.neuedu.po.TbCourse;

public interface TbCourseMapper {
    int deleteByPrimaryKey(Integer courseid);

    int insert(TbCourse record);

    int insertSelective(TbCourse record);

    TbCourse selectByPrimaryKey(Integer courseid);

    int updateByPrimaryKeySelective(TbCourse record);

    int updateByPrimaryKey(TbCourse record);
    
    public List getList(@Param("start") int start,@Param("record")int record);

    public int getCount();
    
    public TbCourse getCourseByName(@Param("coursename") String coursename);   //新增代码

	
}

修改 TbCourseMapper.xml




  
    
    
    
    
    
  
  
    courseid, coursename, hour, score, picurl
  
  
  
    delete from tb_course
    where courseid = #{courseid,jdbcType=INTEGER}
  
  
    insert into tb_course (courseid, coursename, hour, 
      score, picurl)
    values (#{courseid,jdbcType=INTEGER}, #{coursename,jdbcType=VARCHAR}, #{hour,jdbcType=INTEGER}, 
      #{score,jdbcType=DOUBLE}, #{picurl,jdbcType=VARCHAR})
  
  
    insert into tb_course
    
      
        courseid,
      
      
        coursename,
      
      
        hour,
      
      
        score,
      
      
        picurl,
      
    
    
      
        #{courseid,jdbcType=INTEGER},
      
      
        #{coursename,jdbcType=VARCHAR},
      
      
        #{hour,jdbcType=INTEGER},
      
      
        #{score,jdbcType=DOUBLE},
      
      
        #{picurl,jdbcType=VARCHAR},
      
    
  
  
    update tb_course
    
      
        coursename = #{coursename,jdbcType=VARCHAR},
      
      
        hour = #{hour,jdbcType=INTEGER},
      
      
        score = #{score,jdbcType=DOUBLE},
      
      
        picurl = #{picurl,jdbcType=VARCHAR},
      
    
    where courseid = #{courseid,jdbcType=INTEGER}
  
  
    update tb_course
    set coursename = #{coursename,jdbcType=VARCHAR},
      hour = #{hour,jdbcType=INTEGER},
      score = #{score,jdbcType=DOUBLE},
      picurl = #{picurl,jdbcType=VARCHAR}
    where courseid = #{courseid,jdbcType=INTEGER}
  
  
  
  
  
  
  
                                                      //新增代码

修改 CourseService.java

package com.neuedu.service;

import java.util.List;

import com.neuedu.po.TbCourse;
import com.neuedu.vo.PageBean;

public interface CourseService {
	void save(TbCourse tbCourse);
	TbCourse getCourseById(Integer courseid);
	void getList(PageBean pageBean);
	
	void update(TbCourse tbCourse);
	void delete(Integer courseid);
	
	int getCount();
	
	TbCourse getCourseByName(String coursename);       //新增代码
	
}
 

修改 CourseServiceImpl.java

package com.neuedu.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.neuedu.commons.Commons;
import com.neuedu.mapper.TbCourseMapper;
import com.neuedu.po.TbCourse;
import com.neuedu.service.CourseService;
import com.neuedu.vo.PageBean;

@Service
public class CourseServiceImpl implements CourseService {
	
	@Autowired
	private TbCourseMapper courseMapper;

	@Override
	public void save(TbCourse tbCourse) {
		courseMapper.insertSelective(tbCourse);
	}

	@Override
	public void getList(PageBean pageBean) {
		
		//通过计算计算出从第几条开始查询
		int start = (pageBean.getNowPage() - 1) * pageBean.getRecord();
		List list = courseMapper.getList(start,pageBean.getRecord());
		pageBean.setList(list);
		
		int count = courseMapper.getCount(); //总记录数
		pageBean.setCount(count);
		
	}

	@Override
	public TbCourse getCourseById(Integer courseid) {
		
		return courseMapper.selectByPrimaryKey(courseid);
	}

	@Override
	public void update(TbCourse tbCourse) {
		courseMapper.updateByPrimaryKeySelective(tbCourse);		
	}

	@Override
	public void delete(Integer courseid) {
		courseMapper.deleteByPrimaryKey(courseid);		
	}

	@Override
	public int getCount() {		
		return courseMapper.getCount();
	}

	@Override                                                 //新增代码
	public TbCourse getCourseByName(String coursename) {
		
		return courseMapper.getCourseByName(coursename);
	}                                                        //新增代码

	

}

修改 courseAdd.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>


	
		
		课程添加
	
	
		
课程名称:
课程学时:
课程学分:

修改  CourseController.java

package com.neuedu.controller;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.neuedu.commons.Commons;
import com.neuedu.po.TbCourse;
import com.neuedu.service.CourseService;
import com.neuedu.vo.PageBean;
import com.sun.javafx.css.CssError.InlineStyleParsingError;

@Controller
@RequestMapping("/course")
public class CourseController {
	
	@Autowired
	private CourseService courseService;
	
	@RequestMapping({"/","/list"})
	public String list(@RequestParam(value="nowPage",required=false,defaultValue="1")
									Integer nowPage,Model model) {
		//查询课程列表
		
		PageBean pageBean = new PageBean<>(nowPage,Commons.RECORD);
		
		courseService.getList(pageBean);
		
		model.addAttribute("pageBean", pageBean);
	
		return "admin/courseManager";
	}
	
	///显示添加页面
	@RequestMapping("/showAdd")
	public String showAdd() {
		return "admin/courseAdd";
	}
	
	@RequestMapping("/checkByName")               //新增代码
	@ResponseBody
	public String checkByName(String coursename) {
		TbCourse courseByName = courseService.getCourseByName(coursename);
		if(courseByName != null) {
			
			return "the course name is exists";
		}
		return "";
	}                                             //新增代码
	
	
	
	//保存课程信息
	@RequestMapping("/save")
	public String save(TbCourse tbCourse) {
		/*TbCourse courseByName = courseService.getCourseByName(tbCourse.getCoursename());
		if(courseByName != null) {
			
			return "admin/courseAdd";
		}*/
		//调用service保存课程信息
		courseService.save(tbCourse);
		return "redirect:/course/";
	}
	
	//显示修改页面
	@RequestMapping("/showModify")
	public String showModify(Integer courseid,Map map) {
		TbCourse tbCourse = courseService.getCourseById(courseid);
		map.put("c", tbCourse);
		
		return "admin/courseModify";
	}
	
	
	@RequestMapping("/modify")
	public String modify(TbCourse tbCourse) {
		courseService.update(tbCourse);
		return "redirect:/course/";
		
	}
	
	@RequestMapping("/delete")
	public String delete(Integer courseid) {
		courseService.delete(courseid);
		return "redirect:/course/";
	}
	
	
	

}

输出:进入课程管理页面--点击添加---当输入数据库中已存在数据时---显示 the course name is exists
初识 Spring(24)---(SpringMVC实战--构建学生管理系统(14))_第1张图片

初识 Spring(24)---(SpringMVC实战--构建学生管理系统(14))_第2张图片

在不刷新页面的情况下,动态的改变局部信息----Ajax(解决局部刷新)

想让提示语为中文会导致乱码问题(提示语修改为 该课程名已存在 ),解决乱码问题,修改代码

初识 Spring(24)---(SpringMVC实战--构建学生管理系统(14))_第3张图片

修改 springmvc.xml



	
	
	
		
		
		
	
	
	
		
		          //新增代码
		
			
				
					
					text/plain;charset=utf-8
					text/html;charset=UTF-8
				
			
		                 
	              //新增代码
	
	
	
		
		
		
			
				
				
				
				
				
				
			
		
		
	
	
	
	
	
	 	
	 	
	 	
	 		 
	 

输出:提示信息成功输出为中文,乱码问题解决
初识 Spring(24)---(SpringMVC实战--构建学生管理系统(14))_第4张图片

你可能感兴趣的:(Java,#,Spring,突破Spring框架)