spring三层示例controller层,service层示例,dao层示例

Spring框架提倡面向接口编程,所以在写以下类时,最好能先写好接口,让以下的类去实现接口

1.Spring框架中controller层示例

package org.tarena.note.controller.note;


import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.tarena.note.entity.NoteResult;
import org.tarena.note.entity.SearchBean;
import org.tarena.note.service.NoteService;

@Controller
@RequestMapping("/note")
public class SearchNotesController {
    @Resource
    private NoteService noteService;
    
    @RequestMapping("/search")
    @ResponseBody
    public NoteResult execute(
            String title,int page){
        NoteResult result =
            noteService.search(title,page);
        return result;
    }
    

}

2.spring中service层示例

package org.tarena.note.service.impl;

import java.sql.Timestamp;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.tarena.note.dao.NoteBookMapperDao;
import org.tarena.note.entity.NoteBook;
import org.tarena.note.entity.NoteResult;
import org.tarena.note.service.NoteBookService;
import org.tarena.note.util.NoteUtil;

@Service("bookService")//扫描
public class NoteBookServiceImpl
    implements NoteBookService{
    
    @Resource//注入
    private NoteBookMapperDao bookDao;

    public NoteResult loadBooks(String userId) {
        NoteResult result = new NoteResult();
        
        List list =
            bookDao.findByUserId(userId);
        result.setData(list);
        result.setStatus(0);
        result.setMsg("查询成功");
        return result;
    }

    public NoteResult add(String userId, String bookName) {
        NoteResult result = new NoteResult();
        //将参数封装成book对象
        NoteBook book = new NoteBook();
        book.setCn_notebook_name(bookName);//设置笔记本名
        book.setCn_user_id(userId);//设置用户ID
        //检测笔记本名称是否已存在
        NoteBook has_book =
            bookDao.findByNameAndUser(book);
        if(has_book != null){
            result.setStatus(1);
            result.setMsg("已存在该名称笔记本");
            return result;
        }
        //添加处理
        String bookId = NoteUtil.createId();
        book.setCn_notebook_id(bookId);//设置笔记本ID
        book.setCn_notebook_desc("");
        Timestamp time =
            new Timestamp(System.currentTimeMillis());
        book.setCn_notebook_createtime(time);//设置系统当前时间
        book.setCn_notebook_type_id("5");//设置类型为normal
        bookDao.save(book);//添加
        
        result.setStatus(0);
        result.setMsg("添加笔记本成功");
        result.setData(bookId);//将新建笔记本ID传出去
        return result;
    }

}

3.Spring层中dao层示例

package com.boco.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Repository;

import com.boco.entity.FlowVo;
import com.boco.entity.People;
import com.boco.entity.ResultVo;
import com.boco.entity.Works;
import com.boco.util.DBUtil;

/**
 * 数据持久层实现类
 *
 */
@Repository
public class FormDaoImpl implements FormalDao {
    // 日志记录
    public static Logger logger = Logger.getLogger(FormDaoImpl.class);

    /**
     * 根据用户名和流程编号,去个性流程表查询
     *
     * @param username
     *            用户名
     * @param flowId
     *            流程编号
     * @return 流程对象
     */
    public FlowVo findPersonalityRule(String username, String flowId) {
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        FlowVo fv = new FlowVo();
        try {
            conn = DBUtil.getConnection();
            String sql = "select * from SMS_MAIL_SINGLETON_FLOW where username=? and id=?";
            ps = conn.prepareStatement(sql);
            ps.setString(1, username);
            ps.setString(2, flowId);
            rs = ps.executeQuery();
            if (rs.next()) {
                fv.setId(rs.getString("id"));
                fv.setUsername(rs.getString("username"));
                fv.setAdminname(rs.getString("adminname"));
                fv.setWeekandtiem(rs.getString("weekandtiem"));
                fv.setHolidays(rs.getString("holidays"));
                fv.setSpecialday(rs.getString("specialday"));
                fv.setOvertime(rs.getString("overtime"));
                // fv.setPhonename(rs.getString("phonename"));
                // fv.setEmail(rs.getString("email"));
                fv.setPhonecontent(rs.getString("phonecontent"));
                fv.setEmailcontent(rs.getString("emailcontent"));
                fv.setSms(rs.getString("sms"));
                fv.setMail(rs.getString("mail"));
            }
        } catch (Exception e) {
            e.printStackTrace();
            logger.error("个性规则表查询异常", e);
        }
        return fv;
    }

}


你可能感兴趣的:(java)