SpringAop;JDBCTemplate

一、AOP(面向切面编程)

  1. 1.切面:将非业务之外的一些功能抽取到一个特定的类中.

   1.2.通知:

    a.前置通知  @Before

SpringAop;JDBCTemplate

  b.后置通知@After

SpringAop;JDBCTemplate

c.返回通知 @AfterReturning

SpringAop;JDBCTemplate

 d.异常通知@AfterThrowing

SpringAop;JDBCTemplate

  e.环绕通知  @Around

SpringAop;JDBCTemplate

1.3.重用切入点表达式

      a.定义切入点表达式

SpringAop;JDBCTemplate

b.使用切入点表达式

本类中:SpringAop;JDBCTemplate

        非本类

SpringAop;JDBCTemplate

 1.4.切面的优先级

      a.切面的优先级可以使用@Order(int)来指定。

      b.指定的值越小优先级越高

      c.指定Order注解的优先级比不指定Order注解的高.

   1.5.基于注解/xml配置切面

     a.基于注解: 

SpringAop;JDBCTemplate

 b.基于xml

SpringAop;JDBCTemplate

2、JdbcTemplate

   2.1.配置JdbcTemplate

SpringAop;JDBCTemplate

2.2.常用API方法

     a.update(): 完成增删改操作.

     b.batchUpdate():完成批量增删改操作.

     c.queryForObject():

        >.查询单行返回单个对象. 创建一个RowMapper==》BeanPropertyRowMapper来完成数据库表数据与java对象

          的映射

        >.查询返回单个值

     d.query():查询多行返回多个对象的集合.创建一个RowMapper==》BeanPropertyRowMapper来完成数据库表数据

              与java对象的映射

   2.3.在Dao中如何使用JdbcTemplate

     a.在Dao类中定义privateJdbcTemplate jdbcTempalte ; 然后通过@Autowired注入即可. 推荐!!!

     b.继承JdbcDaoSupport类,需要注入DataSource或者是JdbcTemplate,然后通过

       getJdbcTemplate()方法获取到jdbcTemplate对象.  不推荐!!!

3、NamedParameterJdbcTemplate

 3.1.配置NamedParameterJdbcTemplate

SpringAop;JDBCTemplate

3.2.将java对象通过NamedParameterJdbcTemplate来进行操作:

      需要使用SqlParameterSource==>BeanPropertySqlParamterSource。

      需要注意: sql语句中的具名参数一定要与java对象的属性名一致.

SpringAop;JDBCTemplate