使用 MyBatis 原生功能​

使用 xml 的方式

在开始使用 xml 之前,添加配置,

配置完成后,可以编写 xml 和 mapper 代码,如下所示:

<?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="com.test.mapper.PeopleMapper">
    <select id="selectById" parameterType="java.lang.Integer" resultType="com.test.po.People">
        select * from people where id= #{id}
    </select>
    <select id="login"  parameterType="java.lang.String" resultType="com.test.po.People">
        select * from people where username= #{username} and password = #{password}
    </select>

    <select id="selectByName" resultType="com.test.po.People">
        select * from `people` ${qwSql} limit ${pageNumber}, ${pageSize}
    </select>
    <select id="selectByName_COUNT" resultType="long">
        select count(*) from `people` ${qwSql}
    </select>
</mapper>

Mapper:

public interface PeopleMapper extends BaseMapper<User> {
    People selectById(@Param("id") Integer id);

    People login(@Param("username") String username, @Param("password") String password);

    Page<People> selectByName(Integer pageNumber, Integer pageSize);

    Long selectByName_COUNT(QueryWrapper qwSql);


XML 分

示例代码如下:

QueryWrapper qw = QueryWrapper.create()
        .where(People::getAge).eq(25)
        .and(People::getId).ge(1);
Page<People> peoplePage = peopleMapper
  .xmlPaginate("selectByName", Page.of(1, 3), qw);
System.out.println(peoplePage);

XML 代码如下:

<select id="selectByName" resultType="com.test.po.People">
    select * from `people` ${qwSql} limit ${pageNumber}, ${pageSize}
</select>
<select id="selectByName_COUNT" resultType="long">
    select count(*) from `people` ${qwSql}
</select>

功能

  1. 查询:

@Test
void test1(){
    People people = peopleMapper.selectById(3);
    System.out.println(people);
}

结果:

  1. 登入

@Test
void test2(){
    People people = peopleMapper.login("aa", "aa");
    System.out.println(people);
}

结果:

  1. 分页查询

@Test
void test3(){
    QueryWrapper qw = QueryWrapper.create()
            .where(People::getAge).eq(25)
            .and(People::getId).ge(1);
    Page<People> peoplePage = peopleMapper
      .xmlPaginate("selectByName", Page.of(1, 3), qw);
    System.out.println(peoplePage);

}

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值