在Mybatis基础环境搭建完成之后,就可以进行使用了。首先确保数据库的表已经全部对应到pojo的类了。且类的属性名与表的列名完全匹配。
首先进行一个最简单的查询,查询一个表中的列数,语句如下:
select count(1) from 表名
要完成这个步骤,首先需要创建一个用于调用的接口interface
新建一个接口,因为此次查询主要集中在user表上,命名为UserMapper
public interface UserMapper {
/**
* 查询用户表记录数,返回类型int
*
* @return
*/
int count();
//......
// ....
//..
}
接口创建完毕后,就可以创建与其绑定的mapper映射文件了,我们的sql语句也是写在这个文件里的。所以紧接着再创建一个名为UserMapper.xml的文件。这里要注意的是,这个xml文件要和刚刚的接口的完全限定路径一致。也就是在同一个包内,且名称一致。
打开刚创建的UserMapper.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的值,就是接口UserMapper的完整限定路径,不能写错哦-->
<mapper namespace="cn.smbms.dao.UserMapper">
<!--增删改查-->
</mapper>
接下来,在mapper标签内,就可以编写sql语句了。这里是进行一个查询,因此创建一个select标签(注意mapper标签是根标签,其他所有的标签都是嵌套在mapper内的):
<!--id值(在这里保证唯一)对应同名接口中的抽象方法名,二者需要完全一致,resultType表示查询返回的结果类型-->
<select id="count" resultType="int">
select count(1) from smbms_user
</select>
以上全部完成后,就已经可以使用mybatis来执行一个简单的操作了。
创建一个测试类,并创建测试方法:
public void count() {
//创建一个sqlsession对象,所有的增删改查都是通过这个对象来执行
SqlSession sqlSession = null;
try {
//通过工具类快速获得sqlsession对象
sqlSession = MyBatisUtils.getSQLSession();
//通过sqlsession对象的getMapper()方法,可以找到名为UserMapper接口中的count方法,再与UserMapper.xml配置文件中的namespace属性的值进行匹配,再再通过id值的匹配得到具体的sql语句
int count = sqlSession.getMapper(UserMapper.class).count();
//这里通过LOG4J的方式打印信息,如果用System.out.print()也可以
logger.debug("Count---->:" + count);
} catch (Exception e) {
// TODO: handle exception
logger.debug("error Message:");
} finally {
//查询完毕后关闭此次会话
MyBatisUtils.closeSqlSession(sqlSession);
}
}
控制台输入的信息如下:
输出的内容里 “Preparing: select count(1) from smbms_user ”表示执行的sql语句,
Parameters: 表示参数,这一次查询没有参数。
“count---->12” ,12这个值就是查询后打印出的结果,这样,使用Mybatis进行的最简单的查询就完成了。
Mybatis框架的使用之三传送门:
https://blog.csdn.net/wangduanqs/article/details/85016560