zoukankan      html  css  js  c++  java
  • JdbcTemplate 详解二

    使用Spring-jdbcTemplate准备

    • 引入jar包(Spring基础jar包、aop、jdbc、tx、MySql驱动)
    • 配置dataSource源
    <!--引入本地数据库配置-->
    <context:property-placeholder location="classpath:jdbc.properties" />
    
    <!--配置数据源-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql:///selection_course?useUnicode=true&amp;characterEncoding=utf-8"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>
    •  配置JdbcTemplate
    <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    JdbcTemplate基本使用

    • execute方法
    • update与batchUpdate方法
    • query与queryXXX方法
    • call方法

    execute对数据库DDR操作
    update操作单个增删改

    //API
    int update(String sql,Object[] args)
    int update(String sql,Objcet... args)

    batchUpdate批量增删改

    //API
    int[] batchUpdate(String[] sql)
    int[] batchUpdate(String sql,List<Object[]>)

    单个简单查询

    T queryForObject(String sql,Class<T> type)
    T queryForObject(String sql,Object[] args,Class<T> type)
    T queryForObject(String sql,Class<T> type,Object... arg)

    获取多个

    //API
    List<T> queryForList(String sql,Class<T> type)
    List<T> queryForList(String sql,Object[] args,Class<T> type)
    List<T> queryForList(String sql,Class<T> type,Object... arg)

    查询复杂对象(封装为Map)
    获取单个

    Map queryForMap(String sql)
    Map queryForMap(String sql,Objcet[] args)
    Map queryForMap(String sql,Object... arg)

    获取多个

    List<Map<String,Object>> queryForList(String sql)
    List<Map<String,Object>> queryForList(String sql,Obgject[] args)
    List<Map<String,Object>> queryForList(String sql,Obgject... arg)

    查询复杂对象(封装为实体对象)

    Spring jdbcTemplate是通过实现org.springframework.jdbc.core.RowMapper这个接口来完成对entity对象映射
    获取一个

    T queryForObject(String sql,RowMapper<T> mapper)
    T queryForObject(String sql,object[] args,RowMapper<T> mapper)
    T queryForObject(String sql,RowMapper<T> mapper,Object... arg)

    获取多个

    List<T> query(String sql,RowMapper<T> mapper)
    List<T> query(String sql,Object[] args,RowMapper<T> mapper)
    List<T> query(String sql,RowMapper<T> mapper,Object... arg)

     实例

    public String getInsCharacter(String productId, String companyId, String abicfundId, String inscharacterId) {  
      try {  
        Object[] params = new Object[] { productId, companyId, abicfundId, inscharacterId};  
        String stinscharactername = getJdbcTemplate().queryForObject(SQL_SELECT_INSCHARACTER, params, String.class);  
        if(!StringUtil.isEmpty(stinscharactername)){  
          return stinscharactername;  
        }  
      } catch (DataAccessException e) {  
        return "保証利率(%)";  
      }  
      return "保証利率(%)";  
    }  
    故乡明
  • 相关阅读:
    语音合成
    JAVA的18条BASE
    Java关键字final、static使用总结
    JAVA学习之路:不走弯路,就是捷径
    每个java初学者都应该搞懂的问题
    Tomcat5.5.9+JSP经典配置实例
    FineUI控件集合
    AngularJS基础
    数据库优化方案之SQL脚本优化
    数据库分库分表策略之MS-SQL读写分离方案
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/14142641.html
Copyright © 2011-2022 走看看