JDBCTemplate
在pom.xml加入jdbcTemplate的依赖;
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--如果在JPA已经加入的话,则可以不用引入以上的配置。-->
编写DemoDao类,声明为:@Repository,引入JdbcTemplate
/**
* 使用@Repository注解,标注这是一个持久化操作对象
* Created by ThinkPad on 2017/10/6.
*/
@Repository
public class CatDemoDao {
@Resource
private JdbcTemplate jdbcTemplate;
public Cat selectByCatName(String catName){
/**
* 1、定义一个Sql语句;
* 2、定义一个RowMapper.
* 3、执行查询方法.
*/
String sql = "select *from cat where cat_name=?";
RowMapper<Cat> rowMapper = new BeanPropertyRowMapper<>(Cat.class);
Cat cat = jdbcTemplate.queryForObject(sql, new Object[]{catName}, rowMapper);
return cat;
}
}
编写DemoService类,引入DemoDao进行使用
@Service
public class CatDemoService {
@Resource
private CatDemoDao catDemoDao;
public Cat selectByCatName(String catName){
return catDemoDao.selectByCatName(catName);
}
}
编写Demo2Controller进行简单测试。
全局异常处理
新建一个类GlobalDefaultExceptionHandler, 在class注解上@ControllerAdvice, 在方法上注解上@ExceptionHandler(value = Exception.class),具体代码如下:
/* 1、新建一个Class,这里取名为GlobalDefaultExceptionHandler
* 2、在class上添加注解,@ControllerAdvice;
* 3、在class中添加一个方法
* 4、在方法上添加@ExcetionHandler拦截相应的异常信息;
* 5、如果返回的是View -- 方法的返回值是ModelAndView;
* 6、如果返回的是String或者是Json数据,那么需要在方法上添加@ResponseBody注解.
*
* Created by ThinkPad on 2017/10/6.
*/
@ControllerAdvice
public class GlobalDefaultExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public String defaultExceptionHandler(HttpServletRequest req, Exception e){
//是返回的String.
//ModelAndView -- 介绍 模板引擎...?
// ModelAndView mv = new ModelAndView();
// mv.setViewName(viewName);
return "对不起,服务器繁忙,请稍后再试!";
}
}
测试如下
注意:本文归作者所有,未经作者允许,不得转载