Spring+Struts2+Mybatis框架搭建時的常見典型問題

  搭建SSM框架時,老是遇到這樣那樣的問題,有的一眼就能看出來,有的須要經驗的積累。現將本身搭建SSM框架時遇到的典型問題總結以下:spring

  1、Struts2框架下的action中沒法使用@Autowired自動注入Bean(運行時bean老是爲null)sql

    常見緣由:框架

      A、Spring的配置文件中組件掃描路徑錯誤(即<context:component-scan base-package="xx.xx" />配置錯誤)。url

      B、@Autowired聲明的beanName錯誤,bean的名稱必定要在容器中註冊過。spa

      C、缺乏struts2-spring-plugin-X.jar(X爲版本號)。component

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

    常見緣由:接口

                 缺乏sqlite的驅動(注意須要使用sqlite-jdbc-3.6.14.1.jar而非sqlite3.jar)。 get

  3、Mybatis接口參數沒法傳到SQL中,SQL執行時參數始終爲nullit

    常見緣由:

                 接口如何傳入是單一的參數,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}

  4、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>

相關文章
相關標籤/搜索