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
);
Controller层:
public class TodoController {
// xxx/todo/listtodoclasses.wst
public TodoVO listtodoclasses(HttpServletRequest req, HttpServletResponse response){
TodoService todoService=new TodoServiceImpl();
List
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 {
/**
@return
*/
List
/**
@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
SqlSession sqlSession = MybatisUtil.getInstance().getSqlSessionFactory().openSession();
TodoDAO dao=sqlSession.getMapper(TodoDAO.class);
List
try{
List
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
List
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