Mybatis框架的使用之二(简单查询)

在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

猜你喜欢

转载自blog.csdn.net/wangduanqs/article/details/85015566