不整合spring,原生的mybatis方式进行查询的测试。
首先创建POJO
书写对应的Mapper接口
书写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的方式了。