spring三层示例controller层,service层示例,dao层示例
2015-12-17 14:42
453 查看
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<NoteBook> 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;
}
}
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<NoteBook> 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;
}
}
相关文章推荐
- Spring MVC学习总结(2)——Spring MVC常用注解说明
- Spring MVC学习总结(2)——Spring MVC常用注解说明
- Spring MVC学习总结(2)——Spring MVC常用注解说明
- Spring MVC常用注解说明
- Java多线程实现异步调用
- struts.xml中result的学习
- Java线程安全和非线程安全
- spring在web.xml中的配置示例
- SSM(Spring+SpringMVC+MyBatis)框架快速整合入门教程
- java中常见的异常(转)
- Spring学习总结(2)——Spring的常用注解
- Spring学习总结(2)——Spring的常用注解
- Spring学习总结(2)——Spring的常用注解
- Spring学习总结(2)——Spring的常用注解
- Struts2 内建的验证规则
- java+poi解析excel文件
- Java之多线程内存可见性_3(synchronized和volatile比较)
- 基本排序_冒泡排序_Java实现
- java统计字符串中指定元素出现次数方法
- spring问题排查-调低日志等级