因为模型层里面的DAO全部都编写了CRUD这四种业务方法,所以控制层里面也同样要编写这四种方法
注意控制层原先写的代码我们可以删除掉
增加代码如下
//编写控制层CRUD
public void add() {
}
public void edit() {
}
public void del() {
}
public void query() {
}
public void query(List<Map<String, Object>> params) {
}
不要的代码可以注释掉,像下面这样
package com.DemoJdbc.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.DemoJdbc.dao.StudentsDAO;
import com.DemoJdbc.model.students;
public class StudentsAction {
//编写控制层CRUD
public void add() {
}
public void edit() {
}
public void del() {
}
public void query() {
}
public void query(List<Map<String, Object>> params) {
}
当上面的控制层写完以后那么下面的这些代码都可以删除掉//
// public static void main(String[] args) throws Exception {
//
// /*//写一个main方法来测试刚刚我们写的查询方法、
// StudentsDAO stu = new StudentsDAO();
// List<students> st = stu.query();
//
// //遍历集合
// for (students students : st) {
// System.out.println(students.getUser_name()+","+students.getAge());
// }
// */
// //上面是简单的数据库连接代码///
//
// StudentsDAO STU = new StudentsDAO();//定义方法
// students stu1 = new students();//定义一个学生对象
//
// //1、增加方法测试
// stu1.setUser_name("uuu");
// stu1.setAge(18);
// stu1.setPhone("13237328456");
// stu1.setCreate_user("cxp1");
// stu1.setUpdate_user("cxp2");
// stu1.setIsdel(1);
// STU.addStudents(stu1);//调用增加方法
//
// //2、更新方法测试
// stu1.setId(1);
// stu1.setUser_name("ggg");
// stu1.setAge(88);
// stu1.setPhone("13237328456");
// stu1.setUpdate_user("GAI1");
// stu1.setIsdel(1);
// STU.updateStudents(stu1);//调用更新方法
//
// //3、删除方法测试
// STU.delStudents(1);//调用删除方法
//
// //4、查询单个学生信息测试
// students stu2 = STU.get(1);
// System.out.println(stu2.toString());
// //这里需要在抽象类里面重写一个toSrting的方法,将查询到的信息打印到控制台
//
// //5、按照固类条件查询
// List<students> result=STU.query("lisi");
// for (int i = 0; i < result.size(); i++) {
// System.out.println(result.get(i).toString());
// }
//
// //6、通过集合查询信息(一)
// List<Map<String, Object>> params=new ArrayList<Map<String,Object>>();
// Map<String, Object> param=new HashMap<String, Object>();
// param.put("name","user_name");
// param.put("rela", "=");
// param.put("value", " 'lisi' ");
// params.add(param);
// List<students> result1=STU.query(params);//要记住加这一条
// for (int i = 0; i < result1.size(); i++) {
// System.out.println(result1.get(i).toString());
// }
//
// //6、通过集合查询信息(二)
// List<Map<String, Object>> params2=new ArrayList<Map<String,Object>>();
// Map<String, Object> param2=new HashMap<String, Object>();
// param2.put("name","user_name");
// param2.put("rela", "like");
// param2.put("value", " '%lisi%' ");
// params2.add(param2);
//
// param2=new HashMap<String, Object>();
// param2.put("name","phone");
// param2.put("rela", "=");
// param2.put("value", " '123456' ");
// params2.add(param2);
// List<students> result2=STU.query(params2);//要记住加这一条
// for (int i = 0; i < result2.size(); i++) {
// System.out.println(result2.get(i).toString());
// }
// }
}
补全所添加的代码
//编写控制层CRUD
public void add(students students) throws Exception {
StudentsDAO dao=new StudentsDAO();
dao.addStudents(students);
}//增加学生信息
public students get(Integer id) throws Exception {
StudentsDAO dao=new StudentsDAO();
return dao.get(id);
}//查询单个学生信息
public void edit(students students) throws Exception {
StudentsDAO dao=new StudentsDAO();
dao.updateStudents(students);
}//更新学生信息
public void del(Integer id) throws Exception {
StudentsDAO dao=new StudentsDAO();
dao.delStudents(id);
}//删除学生信息
public List<students> query() throws Exception {
StudentsDAO dao=new StudentsDAO();
return dao.query();
}//查询所有学生信息
public List<students> query(List<Map<String, Object>> params) throws Exception {
StudentsDAO dao=new StudentsDAO();
return dao.query(params);
}//根据参数查询指定学生信息
编辑完控制层之后再创建一个包单独但测试Action
在包里面创建一个TestAction类
填入下面的代码
package com.DemoJdbc.test;
import java.util.List;
import com.DemoJdbc.action.StudentsAction;
import com.DemoJdbc.model.students;
public class TestAction {
public static void main(String[] args) throws Exception {
StudentsAction action=new StudentsAction();
List<students> result=action.query();
for (int i = 0; i < result.size(); i++) {
System.out.println(result.get(i).getId()+
":"+result.get(i).getUser_name());
}
}
}
测试运行一下发现id是空的如下图
那我们就直接到模型层的DAO里面去看看是哪里出问题了
发现是查询的方法中没有写入id,我们只需要写入id就行
需要修改的地方为我圈主的蓝色块块的地方
看下面两个图片
看一下此时的查询结果