SSM搭建时遇到的BUG

SSM搭建时遇到的BUG

1> 使用逆向工程(mybatis-generate)创建项目时xml中出现重复代码:

逆向工程访问到数据库中多个同名表造成的结果:
排除:修改需要使用的表名,重新执行逆向工程
xml的配置中,table标签对于MySQL来说,catalog不适用,若要使用需对方法进行重写。

2> 测试时无法扫描到mapper接口:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

  • 确认mybatis-sql-cfg.xml文件中标签配置路径无误:package name=“xx/xx/xx”
  • 确认mapper.xml 文件中namespace名称与接口名一致,在mybatis-sql-cfg.xml中未配置typealiases则需要将接口包名全部写入namespace
  • 确认mapper.java接口文件存在,及配置文件mapper.xml与mapper接口名称一致
  • 确认mapper.java与mapper.xml文件处在同一级目录下
  • 若两文件不在同级目录下,在配置文件mybatis-sql-cfg.xml中需对mapper.xml单独配置

**

3> tomcat服务器测试时出现异常:javax.servlet.ServletException: Servlet.init() for servlet [springmvc] threw

搜索相关方案大部分指出版本不兼容原因:jdk1.8+spring4.0以上,jdk1.7+spirng3.x
确认版本正常,检查web.xml文件时发现未配置监听器


    org.springframework.web.context.ContextLoaderListener

异常解除。
**

4>启动服务器时报错:

Error creating bean with name 'dataSource' defined in file [D:\......] .....Cannot convert value of type 'java.lang.String' to required type 'java.sql.Driver' for property 'driver': no matching editors or conversion strategy found
在dao配置文件中对数据源的driver赋值时,由于value传入的jdbc_driver数据为string类型,若设置name为driver则会产生数据类型不匹配无法赋值的异常,配置文件中driver修改为

5> maven聚合工程搭建时产生的问题:

聚合工程创建后子项目无法引用到父项目的工具包的情况
确认父类pom中是否引入子项目要使用的依赖

确认各个maven工程是否正确配置了打包标签

  • parent — pom
    • | common — pom
    • | manager — pom
      • | pojo — jar
      • | mapper — jar
      • | service —jar
      • | web —war

确认子项目是否配置父项目工程
parent ← manager
parent ← common
manager ← { pojo,mapper,service,web }

确认是否配置各个子项目之间的依赖关系
(pojo) <= (mapper) <= (service) <= (web)

6> 在maven工程中子项目之间无法互相引用已创建的类

写service接口测试时,发现service接口内不能创建出pojo里的基本类,pom中已引入mapper依赖,mapper的pom中也有pojo的依赖

maven中子项目之间只有添加了依赖才可以引用其他项目中的类和方法,在service中添加pojo的依赖。
SSM搭建时遇到的BUG_第1张图片

7>服务器启动后测试,访问url后有异常:HTTP Status 500-......No converter found for return value of type:calss ...

网友的前车之鉴,在spring中没有将对象转换为json的工具类,向web工程中加入依赖:

com.fasterxml.jackson.core
jackson-core


com.fasterxml.jackson.core
jackson-databind

在父工程中控制其版本。

你可能感兴趣的:(java,SSM,maven)