作为一个初学者在学习MyBatis的时候,跟着视频老师敲MyBatis第一个案例,出现了以下错误,在此记录一下,告诫自己下次不要再粗心。
CarMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dasdafasd">
<!--这个文件中主要写sql语句-->
<!--insert语句,id是这条SQL语句的唯一标识,这个id就代表了这条SQL语句-->
<insert id="insertCar">
insert into t_car (id,car_num,brand,guide_price,produce_time,car_type)
values (null,'1003','丰田',30.0,'2000-11-11','燃油车')
</insert>
</mapper>
test类
package com.powernode.mybatis.test;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import java.io.IOException;
import java.io.InputStream;
public class test {
public static void main(String[] args) throws IOException {
//获取SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取SqlSessionFactory
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");//Resources.getResourceAsStream默认是从类的根路径下开始查找资源
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获取SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行SQL语句
int count = sqlSession.insert("insertCar");
System.out.println(count);
sqlSession.commit();
}
}
问题如下:
控制台报了一堆红,本能的去网上找方法解决,其中说法不一,有的版本号对不上、有的路径名写错…但都不是我的控制台报红的解决方法。直到我看到控制台中Error updating database. Cause: java.sql.SQLSyntaxErrorException: Table ‘powernode.t_car’ doesn’t exist的Table powernode.t_car doesn’t exist,我才知道我犯了个很蠢的错误,我的表名写错了!!!😭😭
然后自己赶紧跑到Navicat中修改了表名。
反思:在学习或者工作中,肯定会遇到或大或小的bug,尽管bug的“标题”相同,但其中的错误点可能不同,这就好像人一样,悲欢并不相通,各有各的喜怒哀乐,所以说,不要碰到问题就烦躁,急于解决,静下心来认真看自己的问题是什么,对症下药。