mybatis_02.zip: https://url22.ctfile.com/f/38921122-910351821-9d66fe?p=3553 (访问密码: 3553)
基于注解基础操作
dao接口
package com.zhangdapeng520.mybatis.dao;
import com.zhangdapeng520.mybatis.entity.User;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Repository;
import java.util.List;
@Mapper
@Repository
public interface UserDao2 {
@Insert("insert into tb_user(name) values(#)")
void add(User user); // 添加
@Delete("delete from tb_user where id=#")
void delete(int id); // 删除
@Update("update tb_user set name=# where id=#")
void update(User user); // 更新
@Select("select id,name from tb_user where id=#")
User findById(int id); // 根据id查询
@Select("select id,name from tb_user")
List findAll(); // 查询所有
@Select("select id,name from tb_user limit # offset #")
List findPage(@Param("limit") int limit,
@Param("offset") int offset); // 分页查询
@Select("select count(*) from tb_user")
int count();// 查询总数
}
测试代码
package com.zhangdapeng520.mybatis;
import com.zhangdapeng520.mybatis.dao.UserDao;
import com.zhangdapeng520.mybatis.dao.UserDao2;
import com.zhangdapeng520.mybatis.entity.User;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class UserDao2Tests {
@Autowired
private UserDao2 userDao2;
@Test
void testAdd() {
User user = new User();
user.setName("张三");
userDao2.add(user);
}
@Test
void testFindById() {
User user = userDao2.findById(1);
System.out.println(user.getId());
System.out.println(user.getName());
}
@Test
void testUpdate() {
User user = new User();
user.setId(1);
user.setName("李四");
userDao2.update(user);
}
@Test
void testFindAll() {
List users = userDao2.findAll();
for (User user : users) {
System.out.println(user.getId()+"==="+user.getName());
}
}
@Test
void testFindPage() {
List users = userDao2.findPage(20,0);
for (User user : users) {
System.out.println(user.getId()+"==="+user.getName());
}
}
@Test
void testCount() {
int count = userDao2.count();
System.out.println(count);
}
@Test
void testDelete() {
userDao2.delete(1);
}
}
分页插件
引入依赖
com.github.pagehelper
pagehelper-spring-boot-starter
1.4.7
配置分页
pagehelper:
propertyName: propertyValue
reasonable: false
defaultCount: true # 分页插件默认参数支持 default-count 形式
测试方法
@Test
void testFindAll2() {
PageHelper.startPage(1, 10);
List users = userDao2.findAll();
for (User user : users) {
System.out.println(user.getId()+"==="+user.getName());
}
//用PageInfo对结果进行包装
PageInfo page = new PageInfo(users);
//测试PageInfo全部属性
//PageInfo包含了非常全面的分页属性
System.out.println(page.getPageNum());
System.out.println(page.getPageSize());
System.out.println(page.getStartRow());
System.out.println(page.getEndRow());
System.out.println(page.getTotal());
System.out.println(page.getPages());
System.out.println(page.isIsFirstPage());
System.out.println(page.isIsLastPage());
System.out.println(page.isHasPreviousPage());
System.out.println(page.isHasNextPage());
}
领取专属 10元无门槛券
私享最新 技术干货