• 找不到类SimpleJdbcTemplate ParameterizedRowMapper cannot be resolved


    找不到类SimpleJdbcTemplate


    背景

    想编译个web应用,原来spring-jdbc.jar用的是Spring 3.1,今天改成用Spring 4.3,报了这个错误。


    现象

    编译不通过,报错如下:

    1
    2
    3
    4
    5
    6
    Error:(19, 44) java: 找不到符号
      符号:   类 SimpleJdbcTemplate
      位置: 程序包 org.springframework.jdbc.core.simple
    Error:(17, 44) java: 找不到符号
      符号:   类 ParameterizedRowMapper
      位置: 程序包 org.springframework.jdbc.core.simple

    原因

    从Spring 3.1开始,JdbcTemplateNamedParameterJdbcTemplate提供了SimpleJdbcTemplate的功能。
    SimpleJdbcTemplateSimpleJdbcDaoSupport被标记为过时,到Spring 4.3则被完全移除

    注:org.springframework.jdbc.core.simple.ParameterizedRowMapper也已经被移除
    至于是在哪个版本的时候被移除就不清楚了。


    解决办法

    思路


    org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
    代替
    org.springframework.jdbc.core.simple.SimpleJdbcTemplate. 用
    org.springframework.jdbc.core.RowMapper
    代替
    org.springframework.jdbc.core.simple.ParameterizedRowMapper.

    具体办法

    问题来了,当有分散在多地的代码都使用了SimpleJdbcTemplate,如何快速地替换为NamedParameterJdbcTemplate
    如果你对IDE非常熟悉,或许能很快全局替换,然而本人智商比较爪机,使用sed命令更合适点。

    用*RowMapper*替换*ParameterizedRowMapper*

    1
    sudo sed -i 's/org.springframework.jdbc.core.simple.ParameterizedRowMapper/org.springframework.jdbc.core.RowMapper/g' `grep -rl 'org.springframework.jdbc.core.simple.ParameterizedRowMapper'`

    用*NamedParameterJdbcTemplate*替换*SimpleJdbcTemplate*

    1
    sudo sed -i 's/org.springframework.jdbc.core.simple.SimpleJdbcTemplate/org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate/g' `grep -rl 'org.springframework.jdbc.core.simple.SimpleJdbcTemplate'`

    说明

    grep是查找命令,选项r表示级联查找,选项l表示输出包含目标的文件(不加l是输出匹配到的行)。
    sed是编辑命令,选项i表示将更改写入文件(不加的话是只将更改输出到console)。

    1
    s/org.springframework.jdbc.core.simple.ParameterizedRowMapper/org.springframework.jdbc.core.RowMapper/g

    ↑是全局替换的意思。
    另外,注意区别反引号和单引号哦。

  • 相关阅读:
    luogu3810 【模板】三维偏序(陌上花开)
    POJ 1704 Georgia and Bob(阶梯博弈)
    URAL 1004 Sightseeing Trip(floyd求最小环+路径输出)
    BZOJ 1064: [Noi2008]假面舞会(dfs + 图论好题!)
    Codeforces Round #332 (Div. 2) D. Spongebob and Squares(枚举)
    HDU 4313 Matrix(并查集)
    HDU 4312 Meeting point-2(切比雪夫距离转曼哈顿距离)
    HDU 4311 Meeting point-1(曼哈顿距离最小)
    HDU 4309 Seikimatsu Occult Tonneru(最大流+二进制枚举)
    HDU 4303 Hourai Jeweled(树形DP)
  • 原文地址:https://www.cnblogs.com/zmc/p/8259520.html
Copyright © 2020-2023  润新知