不整合spring,原生的mybatis方式进行查询的测试。

首先创建POJO

Mybatis手动读取配置文件,SqlSessionFactory原生方式使用

书写对应的Mapper接口

Mybatis手动读取配置文件,SqlSessionFactory原生方式使用

书写mybatis的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <properties resource="conf/properties/conf_env_dev.properties"/>

    <settings>
        <!--开启驼峰命名规则自动转换,Mybatis-plus默认开启了驼峰命名-->
        <setting name="mapUnderscoreToCamelCase" value="true" />

        <!--开启控制台的sql打印-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>


    <environments default="development">
        <environment id="development">
            <transactionManager type="jdbc" />
            <dataSource type="POOLED">
                <property name="driver"
                          value="com.mysql.jdbc.Driver"/>
                <property name="url"
                          value="${cms.master.url}" />
                <property name="username"   value="${cms.master.username}" />
                <property name="password"   value="${cms.master.password}" />
            </dataSource>
        </environment>
    </environments>

    <mappers>
        <!--<package name="com.doll.cms.orm.dao" />-->
        <mapper resource="mapper/UserDiamondMapper.xml"/>
    </mappers>

</configuration>

 

最后编写测试类:

public class CmsTest {

    public static void main(String[] args) throws IOException {
        // 加载配置文件
        Reader reader = Resources.getResourceAsReader("conf/mybatis/mybatis-config.xml");
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        try{
            UserDiamond userDiamond = new UserDiamond();
            userDiamond.setUid(1895128);
            Object o = sqlSession.selectOne("com.doll.cms.orm.dao.UserDiamondMapper.selectDiamondById", userDiamond);

            System.out.println(o);
        }catch (Exception e){
            e.printStackTrace();
        }

    }
}

主要需要注意的配置是XML配置文件中的mappers属性,因为没有整合spring。要配置扫描xml文件需要使用<mapper resouce="">,如果是mapper接口和xml处于同一级目录,且名字相同的情况,也可以使用<package name="xxx.xxx.xxx">的方式,但因为我的xml和接口不处于同一级目录,就只能用resource的方式了。

 

第一,是mybatis-config.xml 文件负责加载 Mapper的xml文件,即上面所说的配置是在这个mybatis-config.xml文件中

第二,mapper对应的xml 配置文件内部要指定对应的Mapper类,即mapper对应的XML文件中的namespace一定要写对应的mapper接口的路径,否则无法匹配找不到语句。

相关文章: