初学mybatis中遇到的一些问题

初学mybatis中遇到的一些问题

文档的基本结构:

1.java.lang.NullPointerException出现空指针问题

mybatis工具类中前面已经定义了私有的SqlSessionFactory

private static SqlSessionFactory sqlSessionFactory;

把mybatis工具类中

SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

改为

sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

成功解决;

空指针出现的原因参考:https://blog.csdn.net/qq_44543508/article/details/94589868

Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

将所有UserMapper.xml和mybatis-config.xml中“UTF-8”改为“UTF8”

3.UserMapper.xml找不到

在父工程和子工程的pom.xml中配置:

 <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

4.mybatis连接数据库问题,如果你的mysql版本是5.6,在添加数据库中设置如下Driver选择for5.1:

5.绑定接口错误

错误类型

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.imooc.o2o.dao.PersonInfoDao.getPersonInfoById

UserMapper.xml的namespace写错了:

写出接口的正确位置,程序运行成功;

6.连接数据库:

<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
     

useSSL=true,useUnicode=true,characterEncoding=UTF-8每一个的后面如果还有东西必须写&amp,写成&会报错,最后一个不需要写&amp。

posted @ 2021-04-13 18:31  didiiddidiidiid  阅读(112)  评论(0)    收藏  举报