MVC的增删查改

在学习MVC过程中,最基础的就是MVC中的增删查改。而新增修改的写法大致相同,不同的是修改多了一步数据的回填,新增/修改一般都是弹出一个新增/修改的模态框,所以新增/修改的基本步骤为:
(1)先写一个弹出新增/修改模态框的方法,在方法里面写应执行的代码,比如重置表单,打开新增/修改的模态框,注意:修改模态框还需要回填数据,使用“ . p o s t ( ) ” 来 回 填 数 据 , 重 置 表 单 的 目 的 是 为 了 防 止 上 次 填 写 的 数 据 遗 留 到 模 态 框 中 。 写 好 方 法 后 就 到 相 应 的 按 钮 写 个 点 击 事 件 来 调 用 这 个 方 法 。 ( 2 ) 再 写 一 个 保 存 新 增 / 修 改 的 方 法 , 方 法 里 面 第 一 步 是 先 获 取 表 单 值 , 然 后 判 断 获 取 的 表 单 值 是 否 填 写 数 据 , 没 填 写 完 整 就 弹 出 一 个 提 示 框 提 醒 用 户 “ 请 填 写 完 整 ” , 填 写 完 整 后 就 写 一 个 p o s t 请 求 , .post()”来回填数据,重置表单的目的是为了防止上次填写的数据遗留到模态框中。写好方法后就到相应的按钮写个点击事件来调用这个方法。 (2)再写一个保存新增/修改的方法,方法里面第一步是先获取表单值,然后判断获取的表单值是否填写数据,没填写完整就弹出一个提示框提醒用户“请填写完整”,填写完整后就写一个post请求, .post()(2)/post.post():意思是通过远程 HTTP POST 请求载入信息。js部分代码具体格式如下:

修改的js部分写好后就到控制器写新增/修改的方法。新增数据在控制器中的最核心的代码只有两句,其他的都是各种判断,比如判断是否和以前的数据相同,相同就提醒用户。核心代码就如:“myModel.XX_XX.Add(sysAcademe); if(myModel.SaveChanges()>0){}else{}”,可以看出,新增数据是利用Add()方法新增,然后就用“if(){}else{}”语句判断是否新增成功。
而修改数据跟新增数据也差不多,也是两句核心代码,然后也是各种判断,比如判断修改的数据是否与以前相同,相同就提醒用户。核心代码就如:“myModel.Entry(XXXXXX).State=System.Data.Entity. EntityState. Modified; if(myModel.SaveChanges()>0){}else{}”,可以看出,修改好数据后就添加到数据库,然后就用“if(){}else{}”语句判断是否修改成功。
查询则是嵌套在新增/修改/删除中,查询出对应要新增/修改/删除的数据。
删除数据也比较简单,写一个删除数据的方法,在方法里面第一步先提醒用户是否删除选中的数据,再写一个post请求,js部分代码具体格式如下:

删除的js部分写好后就到控制器写删除的方法。删除数据在控制器中的最核心的代码也只有两句,其他的都是各种判断,比如判断删除的数据是否还与数据库中的其他表有联系,有就不能删除,否则删除后数据库就会产生很多的垃圾数据。这是不允许的,因为我们要确保删除的数据不能对数据库产生影响。删除数据的核心代码就如:”myModel.S_Academe.Remove(tabAcademe); if(myModel.SaveChanges()>0){}else{}”,可以看出,删除数据是利用Remove()方法来进行数据的删除,然后就用“if(){}else{}”语句判断数据是否删除成功。

MVC模式的实现对数据库的增删改查 部分代码: package dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List; import common.DBConnection; import bean.Contact; public class ContactDAO { public List getAllContact() throws Exception{ Connection conn=DBConnection.getConntion(); PreparedStatement ps=conn.prepareStatement("select * from Contact"); ResultSet rs=ps.executeQuery(); List list = new ArrayList(); while(rs.next()){ int id = rs.getInt("id"); String name = rs.getString("name"); String phone = rs.getString("phone"); String address = rs.getString("address"); Contact c = new Contact(); c.setId(id); c.setName(name); c.setPhone(phone); c.setAddress(address); list.add(c); } rs.close(); ps.close(); conn.close(); return list; } public void addContact(String name,String phone,String address) throws Exception{ String sql = "insert into contact(id,name,phone,address) values(seq_contact.nextval,?,?,?)"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setString(1, name); pstmt.setString(2, phone); pstmt.setString(3, address); pstmt.executeUpdate(); } public void delContact(int id) throws Exception{ String sql = "delete from contact where id=?"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); pstmt.executeUpdate(); } public Contact getContactById(int id) throws Exception{ String sql = "select * from Contact where id=?"; Connection con = DBConnection.getConntion(); PreparedStatement pstmt = con.prepareStatement(sql); pstmt.setInt(1, id); ResultSet rs = pstmt.executeQuery(); Contact c = null; while(rs.next()){ // int id = rs.getInt("id"); String name=rs.getString("name"); String p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值