发表于: 2016-08-24 20:56:19
0 2663
今天完成的事情:完成基本的增删改查语句。
遇到的问题:
1.最后还是换回eclipse了,idea太高大上,各种问题不知道怎么解决,先把eclipse用好吧,
2.使用eclipse创建项目相对轻松点,mybatis的config.xml和mapper.xml不会报错,在pom.xml导入mybatis也非常顺利。
3.使用mybatis报错:No enum constant org.apache.ibatis.type.JdbcType.DATETIME ,意思是jdbcType这个枚举类没有datetime这个类型,但是公司项目里有,我估计是不是他们自己改了文件还是怎么。
4.使用mybatis报错:Cannot find class: com.mysql.jdbc.Driver:maven ,这个意思是没有找到数据库驱动类。
配置如下内容就可以了
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
5.使用mybatis报错:### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'it_xiuzhenyuan';
<property name="url" value="jdbc:mysql://127.0.0.1:3306/itxiuzhenyuan"/>,
这个主要是数据库名称写错了。改成正确的库名称就可以了
6.使用mybatis报错:java.sql.SQLException: Column count doesn't match value count at row 1,这个是sql语句出错,变量和值个数不匹配,如果id是自增列那就不用在insert语句中写这个。
7.使用mybatis报错:InputSteam报错,这个一般是mybatis-Config.xml路径问题。我的解决办法是将它放到src下面。
8.使用mybatis报错:getMapper报错:使用mapper接口的时候,mapper.xml的命名空间要使用接口类的路径。
9.数据库报错:[Err] 1146 - Table 'performance_schema.session_status' doesn't exist,
起因是我的增删改查方法写好了之后发现执行了不报错,但是数据库没有数据。最后我在库里面使用sql语句报这个错误,
他说的意思是performance_schema这个库中的session_status表有问题。我去找了一下还真没有。网上有的说法是
<version>5.1.25</version>升级为5.1.36,完全没有解决问题,解决方法是mysql_upgrade -u root -p --force
然后就报这个错误[Err] 1682 - Native table 'performance_schema'.'session_status' has the wrong structure,
最后我决定还是使用低版本的mysql吧,然后卸载彻底才能重新安装。
按照一般的步骤清理后还是不能使用mysqld -install安装。使用sc delete mysql 把mysql的服务名删除掉才行。最后数据库终于可以使用语句了。
收获:
看到一个文章是,搬砖码农有一个行为就是报错了直接拿错误百度,都不去琢磨下为什么报错,说的挺对的,1146 这个错误明显是没有表,感觉确实和数据库驱动版本没有关系,盲目的百度确实培养不了解决问题的能力。以后注意啊。
评论