Mybatis 查询总数

Mybatis-config.xml

<?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>
    <typeAliases>
        <package name="com.how2java.pojo"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/how2java?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="admin"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper class="com.how2java.mapper.CategoryMapper"/>
    </mappers>
</configuration>

CategoryMapper.java

package com.how2java.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.how2java.pojo.Category;

public interface CategoryMapper {

    @Select(" select count(*) from category_ ")
    public int count();

}

Category.java

package com.how2java.pojo;


public class Category{
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    @Override
    public String toString() {
        return "Category [id=" + id + ", name=" + name + "]";
    }

}

TestMybatis.java

package com.how2java;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.how2java.mapper.CategoryMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.how2java.pojo.Category;

public class TestMybatis {

    public static void main(String[] args) throws IOException, InterruptedException {

        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session = sqlSessionFactory.openSession();

        CategoryMapper mapper = session.getMapper(CategoryMapper.class);

        int count = mapper.count();
        System.out.println(count);

        session.close();
    }

}
在Spring Boot中使用MyBatis进行分页查询,可以通过PageHelper插件来实现。首先,确保你已经在项目中引入了PageHelper依赖。可以在`pom.xml`文件中添加以下代码: ```xml <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> ``` 接下来,在MyBatis的配置文件中,配置PageHelper插件。可以在`application.properties`文件中添加以下配置: ```properties # 设置分页插件 pagehelper.helper-dialect=mysql pagehelper.params=count=countSql ``` 然后,在你的Mapper接口中定义查询方法。例如,假设你要查询名为`User`的表,并进行分页查询,可以创建一个类似如下的方法: ```java import com.github.pagehelper.Page; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper { Page<User> findByPage(); } ``` 最后,在你的Service或Controller层中调用该方法,并传入页码参数来实现分页查询。例如,假设你要查询第2页的数据,可以这样调用: ```java import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @Service public class UserService { @Autowired private UserMapper userMapper; public PageInfo<User> getUsersByPage(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); Page<User> page = userMapper.findByPage(); return new PageInfo<>(page); } } ``` 这样,`getUsersByPage`方法将返回一个包含分页数据的`PageInfo`对象,其中包括了总页数等信息。 请注意,以上示例是基于MySQL数据库的配置和使用方法。如果你使用的是其他数据库,需要相应地修改`pagehelper.helper-dialect`配置项。 希望以上信息对你有帮助!如有更多问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值