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>

 

 

               

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM