搭建ssm项目记录错误,并记录解决办法
一、无法正常启动启动Tomcat
1.1.检查了有没有Tomcat的jar。
1.2.检查pom.xml中是否引入了servlet。
<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency>1.3 确认maven本地jar包是否正常
二、无法正常导入依赖
2.1 检查spring-mvc.xml 是否添加驱动以及是否注名包扫描的位置
<!-- 添加注解驱动 --> <mvc:annotation-driven /> <mvc:default-servlet-handler/> <!-- 设置使用注解的类所在的包 --> <context:component-scan base-package="com.ssm" />
2.2 检查applicationContext.xml 扫描是否正常
<!-- 使用注解式注入 --> <context:annotation-config /> <!-- 自动扫描 --> <context:component-scan base-package="com.ssm" />
2.3 检查web.xml 中是否加载了spring bean
<!-- 加载spring bean --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param>
三、连接数据库时报错not fond 'com.mysql.jdbc.Driver '
3.1. 检查是否引入了jar包
3.2. 检查jdbc.properties文件
发现后面多了几个空格
jdbc.driverClassName=com.mysql.jdbc.Driver,这一句配置 后面有几个空格
四、插入数据到mysql报错java.math.BigInteger cannot be cast to java.lang.Long
各种测试各种网上找原因,都是说类型转换问题。
后面查了一下数据库问题,由于我安装的是较新的MySQL 8.0.11 发现这个版本有新特性:
4.1 新版本的驱动类变了
修改jdbc.properties文件:
driver=com.mysql.cj.jdbc.Driver
4.2 maven引入的驱动版本跟不上
需要引入8.0.11的版本 mysql-connector-java-8.0.11
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency>
修改完毕上面两点后,测试,报以下错误:
The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
需要设置时区
4.3 修改时区
修改jdbc.properties文件:
url=jdbc:mysql://172.16.10.203:3306/test?useSSL=false&serverTimezone=UTC
至此,成功把数据插入了数据库:
附上jdbc.properties文件:
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://172.16.10.203:3306/test?useSSL=false&serverTimezone=UTC username=testproj password=abc123 #定义初始连接数 initialSize=0 #定义最大连接数 maxActive=20 #定义最大空闲 maxIdle=20 #定义最小空闲 minIdle=1 #定义最长等待时间 maxWait=60000