Spring+Struts2+Mybatis框架搭建时的常见典型问题

  搭建SSM框架时,总是遇到这样那样的问题,有的一眼就能看出来,有的需要经验的积累。现将自己搭建SSM框架时遇到的典型问题总结如下:

  一、Struts2框架下的action中无法使用@Autowired自动注入Bean(运行时bean总是为null)

    常见原因:

      A、Spring的配置文件中组件扫描路径错误(即<context:component-scan base-package="xx.xx" />配置错误)。

      B、@Autowired声明的beanName错误,bean的名称一定要在容器中注册过。

      C、缺少struts2-spring-plugin-X.jar(X为版本号)。

  二、Cannot load JDBC driver class 'org.sqlite.JDBC')

    常见原因:

                 缺少sqlite的驱动(注意需要使用sqlite-jdbc-3.6.14.1.jar而非sqlite3.jar)。 

  三、Mybatis接口参数无法传到SQL中,SQL执行时参数始终为null

    常见原因:

                 接口如何传入是单一的参数,SQL中直接使用参数名称即可,或者使用#{0};如果是多个参数,需要使用@Param声明变量名

                 传入单个参数时示例如下:

                       接口:public String getUserNameById(String userId);

                       映射SQL:SELECT USER_NAME   FROM USER  WHERE USER_ID = #{userId}

                 传入多个参数时示例如下:

                       接口:public String getUserNameByIdAndPwd(@Param("userId")String userId, @Param("userPwd")String userPwd);

                       映射SQL:SELECT USER_NAME   FROM USER  WHERE USER_ID = #{userId} AND USER_PWD = #{userPwd}

  四、Spring文件中配置sqlite连接问题

                DataSource配置如下:

                         <property name="driverClassName" value="org.sqlite.JDBC"></property>
                         <property name="url" value="jdbc:sqlite::resource:SM.db"></property>

                其中:resource:是关键字,添加此关键字后,sqlite的DB放在项目跟目录下即可。当然,也可以使用绝对路径:

                         <property name="url" value="jdbc:sqlite:E:\workspace\StockManagement\db\SM.db"></property>

 

 

               

 

posted @   孤旅者  阅读(4071)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示