MVC 原意就是 数据模型(modle)、视图(view)、控制器(controller)
-
-
每张表都有一个数据类(modle类 内含对属性的操作方法(get和set))、一个service方法和一个控制器与之相对应,在写项目的时候尽量把对一类事务(增删改)的操作放在一个控制器内。下面的项目我把增删改查 全部放在了一个控制器内。
在该项目中,涉及一个表的操作,所以我就写了一个控制器(UserClServlet),对表的增删改查都在该控制器内。各个view页面通过传递一个参数type给控制器来辨别是属于哪种操作,再近一步做对数据的处理。对数据库的所有操作都在UsersService里面,控制器通过调用UsersService里面的方法来完成对数据库的增删改查操作。
package com.mxf.domain;
public class Users {String name;String password;int id;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
然后为该类提供了service方法,包括 增删改查 和分页的部分方法代码如下:package com.mxf.service;
import java.sql.ResultSet;import java.sql.SQLException;import java.util.ArrayList;import com.mxf.domain.Users;import com.mxf.util.SQLUtil;public class UsersService {//增加public boolean AddUser(Users user){boolean flag = true;String sql = "insert into user values (?,?,?)";String []parameters ={user.getId()+"",user.getName(),user.getPassword()};try {SQLUtil.executeUpdate(sql, parameters);} catch (Exception e) {// TODO: handle exceptionflag = false;}return flag;}public Users getUserById (String id){Users users = new Users();String sql = "select * from user where id=?";String []parameters = {id};ResultSet rs = SQLUtil.executeQuery(sql, parameters);try {if(rs.next()){users.setId(rs.getInt(1));users.setName(rs.getString(2));users.setPassword(rs.getString(3));}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{SQLUtil.close(SQLUtil.getConn(), SQLUtil.getPs(), rs);}return users;}//修改public boolean UpdateUsers(Users users){boolean flag = true;String sql = "UPDATE USER SET userName=?,userpwd=? WHERE id=?";String []parameters = {users.getName(),users.getPassword(),users.getId()+""};try {SQLUtil.executeUpdate(sql, parameters);} catch (Exception e) {// TODO: handle exceptionflag=false;}return flag;}//删除public boolean delectUsers(String id){boolean flag = true;String sql = "delete from user where id=?";String []parameters = {id};try {SQLUtil.executeUpdate(sql, parameters);} catch (Exception e) {// TODO: handle exceptionflag = false;}return flag;}//验证public boolean checkUsers(Users users){boolean flag = false;String sql = "select * from user where userName=? and userpwd=?";String [] parameters = {users.getName(),users.getPassword()};ResultSet rs = SQLUtil.executeQuery(sql, parameters);try {if(rs.next()){flag = true;}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{SQLUtil.close(SQLUtil.getConn(), SQLUtil.getPs(), rs);}return flag;}//分页实现public ArrayList getUsersByPage(int pageNow,int pageSize){ArrayList<Users> arrayList = new ArrayList<Users>();String sql = " SELECT * FROM USER ORDER BY id LIMIT "+(pageNow-1)*pageSize+","+pageSize+"";ResultSet rs=SQLUtil.executeQuery(sql, null);try {while(rs.next()){Users u = new Users();u.setId(rs.getInt(1));