java mvc增删改查_SpringMVC--实现数据库的增删改查

本次主要是从基础开始配置SpringMVC,包括环境搭建,参数传递,返回值,重定向等细节的讲解。当然最后还会实现对Mysql名为“test”数据库的“jvm”表的增删改查。

8d8fb3f188303b5710daf8fad3acd73c.png

SpringMVC的配置

项目准备

我用的是IDEA,首先新建一个WebApplication项目,然后到入jar包,

d95f28ee5943e876c7b928172898d3a1.png

接着配置一个Tomcat用来启动项目,需要注意的是,你需要在Project Structure->Artifacts的里面添加热部署,(我的默认有一个war exploded)在deployment里面将右边的jar包全选后右击put into web lib的下面。当然后面还会用的jstl和servelt.api这两个jar包,你可以一起导入。

包结构设计

这里主要讲一下spring-mvc.xml的内容,它是一个spring的配置文件,新建是可以在XML Configuration File->Spring Config里面新建文件。需要加一些语句,包扫描声明以及识别mvc注解。里面还需建一个bean对象,是视图解析器,添加返回值路径前缀与后缀。

之后,我们就要在web.xml声明MVC请求中的DispatcherServlet。

Controller

控制器首先要定义@controller注解和@RequestMapping注解。

对于参数传递可以写在函数后面用@PathVariable声明–变量名要和jsp定义的input名相同或者跟在RequestMapping里面用{

}指定。

返回值可以直接返回一个string字符串,之前spring-mvc.xml里面解析会给字符串加上前后缀补全路径。

重定向只需返回一个redirect,例如return “redirect:/jvm/test”。

这里有一个方便的处理前端显示后端的数据,一是函数返回String类型,通过定义ModelMap modelMap对象,只要通过modelMap.addAtributes(“名称”,entity对象),返回entity对象名就可以了,二是返回ModelAndView对象,定义一个ModelAndView model对象,通过model.addObject(“名称”,entity对象),返回model就可以了-----前端就可以用js标签${jvm.id}取到值了

项目目录

1f510e2a15d41e55366f4c80c098c526.png

下面是代码部分:

controller.JvmController

package top.jff.connector.controller;

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import top.jff.connector.entity.Jvm;

import top.jff.connector.service.JvmServiceImpl;

import javax.servlet.http.HttpServletRequest;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.SQLException;

@Controller

@RequestMapping("jvm")

public class JvmController {

@RequestMapping(value = "/insert")

public String insert(Jvm jvm){

int id=jvm.getId();

int instances=jvm.getInstances();

int bytes=jvm.getBytes();

String class_name=jvm.getClass_name();

int num=jvm.getNum();

JvmServiceImpl jvmService=new JvmServiceImpl();

jvmService.insert(id,instances,bytes ,class_name ,num );

return "success";

}

@RequestMapping(value = "/find")

public String find(int id,ModelMap modelMap){

JvmServiceImpl jvmService=new JvmServiceImpl();

Jvm jvm=new Jvm();

jvm=jvmService.find(id);

modelMap.addAttribute("jvm",jvm);

return "jvm";

}

}

entity.Jvm

package top.jff.connector.entity;

public class Jvm {

private int id;

private int instances;

private int bytes;

private String class_name;

private int num;

public int getId() {

return id;

}

public int getInstances() {

return instances;

}

public int getBytes() {

return bytes;

}

public String getClass_name() {

return class_name;

}

public int getNum() {

return num;

}

public void setId(int id) {

this.id = id;

}

public void setInstances(int instances) {

this.instances = instances;

}

public void setBytes(int bytes) {

this.bytes = bytes;

}

public void setClass_name(String class_name) {

this.class_name = class_name;

}

public void setNum(int num) {

this.num = num;

}

}

service.JvmService

package top.jff.connector.service;

import top.jff.connector.entity.Jvm;

public interface JvmService {

public void insert(int id,int stances,int bytes,String class_name,int num);

public Jvm find(int id);

}

service.JvmServiceImpl

package top.jff.connector.service;

import top.jff.connector.entity.Jvm;

import java.sql.*;

public class JvmServiceImpl implements JvmService{

@Override

public void insert(int id,int instances,int bytes,String class_name,int num){

String sql="insert into jvm(id,instances,bytes,class_name,num) values(?,?,?,?,?)";

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

// 数据库连接字符串

String url = "jdbc:mysql://localhost:3308/test?useUnicode=true&characterEncoding=utf-8";

// 数据库用户名

String username = "root";

// 数据库密码

String password = "123456";

// 创建Connection连接

try {

Connection conn = null;

conn = DriverManager.getConnection(url, username, password);

PreparedStatement preparedStatement= null;

preparedStatement = conn.prepareStatement(sql);

preparedStatement.setInt(1,id );

preparedStatement.setInt(2,instances );

preparedStatement.setInt(3,bytes);

preparedStatement.setString(4,class_name );

preparedStatement.setInt(5,num );

preparedStatement.execute();

System.out.println("插入成功");

} catch (SQLException e) {

System.out.println("错误");

e.printStackTrace();

}

}

@Override

public Jvm find(int id){

Jvm jvm=new Jvm();

String sql="select * from jvm where id=?";

try {

Class.forName("com.mysql.jdbc.Driver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

String url = "jdbc:mysql://localhost:3308/test?useUnicode=true&characterEncoding=utf-8";

// 数据库用户名

String username = "root";

// 数据库密码

String password = "123456";

try {

Connection connection=DriverManager.getConnection(url, username, password);

PreparedStatement preparedStatement=connection.prepareStatement(sql);

ResultSet resultSet=preparedStatement.executeQuery();

while (resultSet.next()){

jvm.setId(resultSet.getInt(1));

jvm.setInstances(resultSet.getInt(2));

jvm.setBytes(resultSet.getInt(3));

jvm.setClass_name(resultSet.getString(4));

jvm.setNum(resultSet.getInt(5));

}

} catch (SQLException e) {

e.printStackTrace();

}

return jvm;

}

}

jsp页面

index.jsp

Created by IntelliJ IDEA.

User: JFF

Date: 2020/5/16

Time: 5:17

To change this template use File | Settings | File Templates.

--%>

$Title$

jvm.jsp

Created by IntelliJ IDEA.

User: JFF

Date: 2020/5/16

Time: 5:10

To change this template use File | Settings | File Templates.

--%>

Title

success ${jvm.id} ${jvm.instances} ${jvm.bytes} ${jvm.class_name} ${jvm.num}

两个配置文件需要特特特别注意

web.xml-----为DispatcherServlet创建入口

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"

version="4.0">

ssm-blog

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:./top/jff/connector/resource/spring-mvc.xml

1

ssm-blog

/

resource.spring-mvc.xml–包扫描,识别注解,定义视图解析bean对象

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-4.0.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

终于写完了,如果有什么不完善的地方,还请各位指教。需要完整jar包的可以留言。

标签:String,SpringMVC,改查,id,int,jvm,增删,public,name

来源: https://blog.csdn.net/EndlessJF/article/details/106153301

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值