TODOLIST完整版

1.数据库的创建:

    create table todo(
 id integer primary key,
 title varchar(50),
 todoclassid integer,
 state integer,
 create_dt datetime,
 modify_dt datetime
);
create table todoclass(
 id integer primary key,
 name varchar(30),
 parentid integer
);

2.html页面代码展示:





TODOLIST











结果展示:

3.Java代码部分展示

Controller层:
public class TodoController {
// xxx/todo/listtodoclasses.wst
public TodoVO listtodoclasses(HttpServletRequest req, HttpServletResponse response){
TodoService todoService=new TodoServiceImpl();
List result = todoService.listTodoClasses(null);
TodoVO todoVO=new TodoVO();
todoVO.setTodoclasses(result);
return todoVO;
}

// xxx/todo/savetodoclass.wst
public Boolean savetodoclass(HttpServletRequest req, HttpServletResponse response){
    TodoService todoService=new TodoServiceImpl();
    TodoClass todoClass=new TodoClass();
    todoClass.setName(req.getParameter("todoclassname"));
    Boolean result=todoService.saveTodoClass(todoClass);
    return result;
}

// xxx/todo/savetodo.wst
public Boolean savetodo(HttpServletRequest req, HttpServletResponse response){
    TodoService todoService=new TodoServiceImpl();
    Todo todo=new Todo();
    Date date =new Date();
    todo.setCreate_dt(date);
    todo.setState(0);
    todo.setTitle(req.getParameter("title"));
    todo.setTodoclassid(Integer.parseInt(req.getParameter("todoclassid")));
    Boolean result=todoService.saveTodo(todo);
    return result;
}

// xxx/todo/updatetodo.wst
public Boolean updatetodo(HttpServletRequest req, HttpServletResponse response){
    TodoService todoService=new TodoServiceImpl();
    Boolean result=todoService.updateTodo(Integer.parseInt(req.getParameter("id")));
    return result;
}

public Boolean deletetodo(HttpServletRequest req,HttpServletResponse response ){
    TodoService todoService=new TodoServiceImpl();
    Boolean result=todoService.deletetodo(Integer.parseInt(req.getParameter("id")));
    return result;
}

}
Service层
接口:
public interface TodoService {
/**

  • 获取所有的todo分类
  • @return
    */
    List listTodoClasses(Integer parentid);

    /**

  • 保存Todo分类
  • @param todoClass
  • @return
    */
    Boolean saveTodoClass(TodoClass todoClass);

    Boolean saveTodo(Todo todo);

    Boolean updateTodo(Integer todoid);

    Boolean deletetodo(Integer todoid);
    }
    实现接口
    public class TodoServiceImpl implements TodoService {

    @Override
    public List listTodoClasses(Integer parentid) {
    SqlSession sqlSession = MybatisUtil.getInstance().getSqlSessionFactory().openSession();
    TodoDAO dao=sqlSession.getMapper(TodoDAO.class);
    List result=new ArrayList<>();
    try{
    List root = dao.listTodoClassesByParentid(parentid);
    for(TodoClass tc:root){
    TodoClassVO todoClassVO=new TodoClassVO();
    todoClassVO.setTodoclass(tc);
    todoClassVO.setTodos(dao.listTodosByClassid(tc.getId()));
    todoClassVO.setTodoclassvolist(listTodoClasses(tc.getId()));
    result.add(todoClassVO);
    }
    return result;
    }finally {
    sqlSession.close();
    }

    }

    @Override
    public Boolean saveTodoClass(TodoClass todoClass) {
    SqlSession sqlSession = MybatisUtil.getInstance().getSqlSessionFactory().openSession();
    TodoDAO dao=sqlSession.getMapper(TodoDAO.class);
    int result=0;
    try {
    result=dao.saveTodoClass(todoClass);
    sqlSession.commit();
    }finally{
    sqlSession.close();
    }
    return result>0;
    }

    @Override
    public Boolean saveTodo(Todo todo) {
    SqlSession sqlSession = MybatisUtil.getInstance().getSqlSessionFactory().openSession();
    TodoDAO dao=sqlSession.getMapper(TodoDAO.class);
    int result =0;
    try {
    result= dao.saveTodo(todo);
    sqlSession.commit();
    }finally {
    sqlSession.close();
    }

    return result>0;

    }

    @Override
    public Boolean updateTodo(Integer todoid) {
    SqlSession sqlSession = MybatisUtil.getInstance().getSqlSessionFactory().openSession();
    TodoDAO dao=sqlSession.getMapper(TodoDAO.class);
    int result =0;
    try {
    result= dao.updateTodo(todoid);
    sqlSession.commit();
    }finally {
    sqlSession.close();
    }

    return result>0;

    }

    @Override
    public Boolean deletetodo(Integer todoid) {
    SqlSession sqlSession = MybatisUtil.getInstance().getSqlSessionFactory().openSession();
    TodoDAO dao=sqlSession.getMapper(TodoDAO.class);
    int result =0;
    try {
    result= dao.deletetodo(todoid);
    sqlSession.commit();
    }finally {
    sqlSession.close();
    }

    return result>0;

    }

}
DAO层
接口:
public interface TodoDAO {
List listTodosByClassid(@Param("todoclassid") Integer todoclassid);
List listTodoClassesByParentid(@Param("parentid") Integer parentid);
int saveTodoClass(TodoClass todoClass);
int saveTodo(Todo todo);
int updateTodo(Integer todoid);
int deletetodo(Integer todoid);
}
配置文件:

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">






select max(ifnull(id,0))+1 from todoclass

insert into todoclass(id,name) VALUES (#{id},#{name});



select max(ifnull(id,0))+1 from todo

insert into todo(id,title,todoclassid,create_dt,state) VALUES (#{id},#{title},#{todoclassid},#{create_dt},#{state});


update todo set state=1 where id=#{id}


delete from todo where id=#{id}

转载于:https://blog.51cto.com/13507330/2108565

你可能感兴趣的:(TODOLIST完整版)