Spring MVC实现MySQL增删改查项目

最近刚学了spring mvc框架,感觉确实方便了不少,减少了大量的冗余代码。就自己做了个小项目练练手,这是个初级的spring mvc应用的项目,没有用到mybatis,项目功能还算完善,实现了基本的增删改查的功能。
项目环境:

  • 系统:win10

  • 开发环境:eclipse Oxygen Release Candidate 3 (4.7)

  • jdk版本:java1.8(121)

  • mysql:5.7

  • spring:4.0

  • tomcat:8.5
    用到的技术:

  • spring mvc

  • spring

  • jsp

  • jdbc

  • javaBean

  • js

  • jstl

访问地址:http://localhost:8080/你的项目名/all

声明:我只是一个刚入门不久的新手,所写代码难免有出错之处,如发现欢迎各位指出
下面就贴上详细过程
##1. 首先创建一个web项目(Dynamic Web Project)
项目名字就自己写了,不再详细写
这里写图片描述
##2. 这是我的已完成项目结构
我只是为了实现功能,没有用到接口,只用了简单的三个类,bean包下的实体类,dao层数据库访问类,controller层的界面控制类,
这里写图片描述
所有引用的jar包都在/WebContent/WEB-INF/lib文件夹下,这点与普通的java项目不同。

3. 具体java代码

1.Student类,实体类

  • 首先要写一个javaBean,我的是Student作为javaBean,详细代码如下:
package bean;

public class Student {

    private Integer id;//学生id
    private String name;//学生姓名
    private Double javaScore;//java成绩
    private Double htmlScore;//html成绩
    private Double cssScore;//css成绩
    private Double totalScore;
    public Integer getId() {
	return id;
    }
    public void setId(Integer id) {
	this.id = id;
    }
    public String getName() {
	return name;
    }
    public void setName(String name) {
	this.name = name;
    }
    public Double getJavaScore() {
	return javaScore;
    }
    public void setJavaScore(Double javaScore) {
	this.javaScore = javaScore;
    }
    public Double getHtmlScore() {
	return htmlScore;
    }
    public void setHtmlScore(Double htmlScore) {
	this.htmlScore = htmlScore;
    }
    public Double getCssScore() {
	return cssScore;
    }
    public void setCssScore(Double cssScore) {
	this.cssScore = cssScore;
    }
    public Double getTotalScore() {
	return totalScore;
    }
    public void setTotalScore(Double totalScore) {
	this.totalScore = totalScore;
    }
}

2. StudentDao,数据库访问操作类

  • 然后是dao层即数据访问层的代码,这里使用的是spring封装的一个类(JdbcTemplate),里面有一些操作数据库的方法,不用再自己写大量重复代码,只要写SQL语句。下面是具体代码:
package dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import bean.Student;

public class StudentDao {

    /**
     * @Fields jdbcTemplate : TODO
     */

    private JdbcTemplate jdbcTemplate;

    /**
     * spring提供的类
     * 
     * @param jdbcTemplate
     *            返回值类型: void
     * @author janinus
     */
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
	this.jdbcTemplate = jdbcTemplate;
    }

    /**
     * 查询所有学生
     * 
     * @return 返回值类型: List<Student>
     * @author janinus
     */
    public List<Student> queryAll() {
	String sql = "select id,name,javaScore,htmlScore,cssScore from student";
	//将查询结果映射到Student类中,添加到list中,并返回
	return jdbcTemplate.query(sql, new StudentMapper());
    }

    /**
     * 通过姓名查询
     * 
     * @param name
     * @return 返回值类型: List<Student>
     * @author janinus
     */
    public List<Student> queryByName(String name) {
	String sql = "select id,name,javaScore,htmlScore,cssScore from student where name like '%" + name + "%'";
	return jdbcTemplate.query(sql, new StudentMapper());
    }

    /**
     * 添加学生
     * 
     * @param student
     * @return 返回值类型: boolean
     * @author janinus
     */
    public boolean addStu(Student student) {
	String sql = "insert into student(id,name,javaScore,htmlScore,cssScore) values(0,?,?,?,?)";
	return jdbcTemplate.update(sql,
		new Object[] { student.getName(), student.getJavaScore(), student.getHtmlScore(),
			student.getCssScore() },
		new int[] { Types.VARCHAR, Types.DOUBLE, Types.DOUBLE, Types.DOUBLE }) == 1;
    }

    /**
     * 删除学生
     * 
     * @param id
     * @return 返回值类型: boolean
     * @author janinus
     */
    public boolean deleteStu(Integer id) {
	String sql = "delete from student where id = ?";
	return jdbcTemplate.update(sql, id) =
  • 15
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值