问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Spring MVC中怎么实现数据库的增删改查

发布网友 发布时间:2022-04-30 02:08

我来回答

2个回答

懂视网 时间:2022-04-30 06:29

namespace 数据库增删改查.Models { public class StudentBF { private MyDBDataContext _Context = new MyDBDataContext(); //造一个连接表的数据 public List<Student> Select() //创造一个泛型集合的Select方法 { return _Context.Student.ToList(); //返回上下文中的Student表的数据,并且转换为List格式 } public Student Select(string sno) //创造一个Student的Select方法,详细查找 { var query = _Context.Student.Where(P=>P.Sno==sno); //P是Student的每个学生 if (query.Count() > 0) { return query.First(); //返回出第一条数据 } else { return null; } } public void Update(string sno,string sname,string sex,string sbirthday,string Class) //创造一个Student的Update方法,用来修改 { var query = _Context.Student.Where(P => P.Sno == sno); //P是Student的每个学生 if (query.Count() > 0) { Student data = query.First();//将读出来的第一条数据赋给data data.Sname = sname; data.Ssex = sex; data.Sbirthday = sbirthday; data.Class = Class; _Context.SubmitChanges();//执行修改 } } public void Delete (string sno) //根据主键删除 { var query = _Context.Student.Where(p => p.Sno == sno); if (query.Count() > 0) { Student data = query.First(); _Context.Student.DeleteOnSubmit(data);//将data扔进去删掉它 _Context.SubmitChanges(); } } public void Insert(string sno, string sname, string ssex, string sbirthday, string Class)//增加 { Student data = new Student();//造一个对象,然后一个个给里面的属性赋值 data.Sno=sno; data.Sname=sname; data.Ssex=ssex; data.Sbirthday=sbirthday; data.Class=Class; _Context.Student.InsertOnSubmit(data);//增加 _Context.SubmitChanges();//提交改变 } } } 二、各种控制器的动作 namespace 数据库增删改查.Controllers { public class HomeController : Controller { // // GET: /Home/ public ActionResult Index()//显示全部数据 { ViewBag.Data= new StudentBF().Select();//将查询出来的值赋给ViewBag.Data return View(); } public ActionResult Details(string id) //显示详细信息 { ViewBag.data=new StudentBF().Select(id); return View(); } public ActionResult Edit(string id) //修改前的编辑 { ViewBag.data = new StudentBF().Select(id);//调用方法获得数据后传值 return View(); } public ActionResult Update(string sno,string sname,string sex,string sbirthday,string Class) //修改 { new StudentBF().Update(sno,sname,sex,sbirthday,Class); return RedirectToAction("Index");//指向Index动作 } public ActionResult Delete(string id) //删除 { try { new StudentBF().Delete(id); return RedirectToAction("Index"); } catch { return RedirectToAction("Index","Error");//指向的是控制器 参数1:动作 参数2:控制器名字 } } public ActionResult add()//增加前的编辑 { return View(); } public ActionResult Insert(string xuehao,string xingming,string xingbie,string shengri,string banji)//增加 { new StudentBF().Insert(xuehao,xingming,xingming,shengri,banji); return RedirectToAction("Index"); } } } 三、各种页面模板 1、Index页面模板 <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <%@import Namespace="数据库增删改查.Models" %> <%@ Import Namespace="System.Collections.Generic" %> <!DOCTYPE html> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Index</title> <style> .pifu1 { text-align:center; background-color:#ffcccc; } .pifu2 { text-align:center; background-color:#ccccff;; } </style> </head> <body> <div> <form name="f1" id="f1" action="/Home/Add" method="post"> <input type="submit" value="增加"> </form> <% List<Student> list = ViewBag.Data;//从ViewBag.Data找到查出来的值赋给list %> <table width="100%" border="0" cellspacing="1" cellpadding="1"> <tr class="pifu1"> <td>学号</td> <td>姓名</td> <td>操作</td> </tr> <% foreach (Student data in list) //一条条遍历出来放在表格里 { %> <tr class="pifu2"> <td><%=data.Sno %></td> <td><a href="/Home/Details/<%=data.Sno %>"><%=data.Sname %></a></td> <td><a href="/Home/Edit/<%=data.Sno %>">修改</a>  <a href="/Home/Delete/<%=data.Sno %>">删除</a></td> </tr> <% } %> </table> </div> </body> </html> 2、Edit页面模板(修改前的编辑) <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <%@import Namespace="数据库增删改查.Models" %> <!DOCTYPE html> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Edit</title> </head> <body> <div> <% Student data = ViewBag.data as Student; if(data != null) { %> <h1>修改信息</h1> <form name="f1" id="f1" action="/Home/Update" method="post"> 学号<input type="text" name="sno" value="<%=data.Sno %>" readonly="readonly"><br> 姓名<input type="text" name="sname" value="<%=data.Sname %>"><br> 性别<input type="text" name="sex" value="<%=data.Ssex%>"><br> 生日<input type="text" name="sbirthday" value="<%=data.Sbirthday %>"><br> 班级<input type="text" name="Class" value="<%=data.Class %>"><br> <input type="submit" value="更新"> </form> <% } %> </div> </body> </html> 3、Details页面模板(详细信息) <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <%@import Namespace="数据库增删改查.Models" %> <!DOCTYPE html> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Details</title> </head> <body> <div> <% Student data = ViewBag.data; %> <h1><%=data.Sname %>的详细信息</h1> <form> 学号<input type="text" name="Sno" value="<%=data.Sno %>"><br> 姓名<input type="text" name="Sname" value="<%=data.Sname %>"><br> 性别<input type="text" name="Ssex" value="<%=data.Ssex%>"><br> 生日<input type="text" name="Sbirthday" value="<%=data.Sbirthday %>"><br> 班级<input type="text" name="Class" value="<%=data.Class %>"><br> </form> </div> </body> </html> 4、add页面模板(增加前的编辑的所增加的内容) <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <%@import Namespace="数据库增删改查.Models" %> <!DOCTYPE html> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>add</title> </head> <body> <div> <div> <h1>增加信息</h1> <form name="f1" id="f1" action="/Home/Insert" method="post"> 学号<input type="text" name="xuehao" ><br> <%--//传的是name值,name值叫什么,外面控制器里定义的就要叫什么名字--%> 姓名<input type="text" name="xingming" ><br> 性别<input type="text" name="xingbie" ><br> 生日<input type="text" name="shengri" ><br> 班级<input type="text" name="banji" ><br> <input type="submit" value="增加"> </form> </div> </div> </body> </html> 5、删除主键后报错的页面模板 public ActionResult Delete(string id) //删除 { try { new StudentBF().Delete(id); return RedirectToAction("Index"); } catch { return RedirectToAction("Index","Error");//指向的是控制器 参数1:动作 参数2:控制器名字 } } <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <!DOCTYPE html> <html> <head runat="server"> <meta name="viewport" content="width=device-width" /> <title>Index</title> </head> <body> <div> 对不起,出错了 </div> </body> </html>

至于insert页面模板,Update页面模板,Delete页面模板,因为点击按钮后直接跳转回Index控制器页面,所有这三个并没有页面模板,即没有视图(View)

 

下面是效果图

技术分享技术分享技术分享

MVC——数据库增删改查

标签:

热心网友 时间:2022-04-30 03:37

spring中提供了 一个spring-jdbc,就是对jdbc的使用简化和扩展,增加一些开发效率。如果要了解更详细,可以搜索spring-jdbc使用详情。
具体spring-jdbc使用前,要导入相应的jar包,在applicationContext.xml中配置dataSource和jdbcTemplate就可以使用它了。

添删查改操作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

public void add(User user){
jdbcTemplate.update("INSERT INTO USER VALUES('"
+ user.getId() + "', '"
+ user.getName() + "', '"
+ user.getSex() + "', '"
+ user.getAge() + "')");
}

public void edit(User user){
jdbcTemplate.update("UPDATE USER SET name = ? WHERE user_id = ?", new Object[] {name, id});
}

public int queryCount(){
int count = jdbcTemplate.queryForInt("SELECT COUNT(*) FROM USER");
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何查被录取到的专业 怎样查被录取的专业 录取后怎样查询录取的专业 录取专业怎么查 已被录取怎么查专业 ghs网络语什么意思_ghs网络语意思出处含义介绍 纸箱企业管理软件 ghs什么意思网络(ghs什么意思网络用语) 《喜羊羊与灰太狼》大结局 0与任何数相加都得原数吗? u盘内存为何显示为0? 无法拥抱的你在哪里可以免费看 大连市教师资格证的考试一般都考什么? U盘突然不能用了,内存变成0 无法拥抱的你七七第几集出现 无法拥抱的你七七第几集出现 U盘容量和可用内存都为零怎么办? 《无法拥抱的你2》里面所有歌曲五首介绍? 《无法拥抱的你2》里面所有歌曲五首介绍? 谁有融资计划书的样本(要实战的) U盘显示内存为零怎么回事? 《无法拥抱的你》收官,你认为第二季中会有哪些剧情转变? 谁能分享《无法拥抱的你第一季》2017年播出,猫的树执导,张予曦和邢昭林主演的电视剧高清百度云资源 谁能分享《无法拥抱的你第一季》2017年播出,猫的树执导,张予曦和邢昭林主演的电视剧高清百度云资源 求 无法拥抱的你 1~2季 百度云免费在线观看资源 求 无法拥抱的你 1~2季 百度云免费在线观看资源 奶牛猫和缅因配种会生什么,母猫是长毛黑白色,公猫是黑色缅因? 大佬有无法拥抱的你(2017)年上映的由张予曦等主演的免费高清百度云资源求分享 奶牛猫怎么养? 跪求《无法拥抱的你(2017)》百度网盘高清资源在线观看,张予曦主演的 u盘无法格式化现实内存为0,给个量产工具格式化U盘 商业计划书范本 今日头条一个月能收入多少钱 饭前运动有利于减肥还是饭后运动有利于? 《无法拥抱的你》第二部相对于第一部而言,是不是整体差太多了?_百度知 ... 减肥是饭前运动好还是饭后运动好? 请问饭前运动有利于减肥还是饭后? 在大连考的教师资格证可以在其它省用吗 电荷守恒的物理:电荷守恒定律 融资计划书真实案例小说txt全集免费下载 我想每天早晨起来跑步减肥,想问问大家是饭前跑步还是饭后跑步好?? 化学电荷守恒原理是什么啊 非师范生,想在大连考教师资格证。 应该在饭前还是饭后运动? 大连教师资格证体检去哪个医院? 大连市教师资格证难考吗? 饭前运动减肥好还是饭后运动减肥好 什么是电荷守恒法 超市里买的速冻桃子是生的还是熟的 电荷守恒定律是什么意思?