您的位置:首页 > 博客中心 > 数据库 >

JdbcTemplate的主要用法

时间:2022-03-13 23:21

  JdbcTemplate主要提供以下五类方法:

  • @Test  
  • public void testCallableStatementCreator3() {  
  •     final String callProcedureSql = "{call PROCEDURE_TEST(?, ?)}";  
  •     List<SqlParameter> params = new ArrayList<SqlParameter>();  
  •     params.add(new SqlInOutParameter("inOutName", Types.VARCHAR));  
  •     params.add(new SqlOutParameter("outId", Types.INTEGER));  
  •     Map<String, Object> outValues = jdbcTemplate.call(  
  •       new CallableStatementCreator() {  
  •         @Override  
  •         public CallableStatement createCallableStatement(Connection conn) throws SQLException {  
  •           CallableStatement cstmt = conn.prepareCall(callProcedureSql);  
  •           cstmt.registerOutParameter(1, Types.VARCHAR);  
  •           cstmt.registerOutParameter(2, Types.INTEGER);  
  •           cstmt.setString(1, "test");  
  •           return cstmt;  
  •     }}, params);  
  •     Assert.assertEquals("Hello,test", outValues.get("inOutName"));  
  •     Assert.assertEquals(0, outValues.get("outId"));  
  • }  
  •    
    • {call PROCEDURE_TEST(?, ?)}:定义存储过程sql;
    • params:定义存储过程参数;SqlInOutParameter描述INOUT类型参数、SqlOutParameter描述OUT类型参数;
    • CallableStatementCreator:用于创建CallableStatement,并设值及注册OUT参数类型;
    • outValues:通过SqlInOutParameter及SqlOutParameter参数定义的name来获取存储过程结果。

     

           JdbcTemplate类还提供了很多便利方法,在此就不一一介绍了,但这些方法是由规律可循的,第一种就是提供回调接口让用户决定做什么,第二种可以认为是便利方法(如queryForXXX),用于那些比较简单的操作。

热门排行

今日推荐

热门手游