10.分页+使用注解开发CURD

Posted tuyaojiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10.分页+使用注解开发CURD相关的知识,希望对你有一定的参考价值。

分页

为什么要分页?

减少数据的处理量

 

一开始我们用的limit分页

 

select * from user limit 0,2;

 

0开始(第一个字段),一页显示两个字段

技术图片

 

 

 3开始,一页两个记录

 

 

技术图片

 

 

 技术图片

 

 

 一页三个记录

技术图片

 

 

技术图片

 

 

 使用Mybatis实现分页

 

先在UserMapper.java这个抽象类里写一个抽象方法

技术图片

 

 

 测试类

技术图片

 

 使用注解开发

 

我们学到现在基本上都是基本面向接口编程

 

为什么?

 

为了解耦

 

UserMapper

 

@Select("select * from User")
List<User> getUsers(); //返回值是List<User> //User对象(这是我自己创建的一个类)

 

然后我们在mybatis-config.xml里绑定接口

 

<mappers>
    <mapper class="class.com.zou.dao.UserMapper"/>
</mappers>

 

 

注解的CURD(干不了复杂的)

 

我们可以在工具类创建的时候设置自动提交事务!

 

以后我们再也不用commit

 

在工具类里

 

给这玩意改成true

技术图片

 

方法存在多个参数时,除了map之类的参数,别的参数我们最好都加上@Param(“”)注解

技术图片

 

 

言归正传

          1.通过id查用户

接口类:

@Select("select * from user where id = #{id}")
User getUserById(@Param("id") int id);

测试类

@Test
public void test(){

    SqlSession sqlSession = MybatisUtils.getSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);

    User pig = mapper.getUserById(3);

    System.out.println(pig);
    
    sqlSession.close();

}

结果

技术图片

 

 

 

 

  1. 增加用户

@Insert("insert into user(id,name,pwd) values (#{id},#{name},#{pwd})")
int addUser(User user);

 

测试

@Test
public void test(){

    SqlSession sqlSession = MybatisUtils.getSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);

    mapper.addUser(new User(8,"邹二狗","zh1203"));
    
    sqlSession.close();
}

 

@Update("update user set name=#{name},pwd=#{pwd} where id = #{id}")
int upDate(User user);

测试

@Test
public void test(){

    SqlSession sqlSession = MybatisUtils.getSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);

    mapper.upDate(new User(7,"邹三狗","123"));

    sqlSession.close();

}

 

@Delete("delete from user where id = #{id}")
int deleat(int id);

测试

@Test
public void test(){

    SqlSession sqlSession = MybatisUtils.getSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);

    mapper.deleat(7);

    sqlSession.close();
}

 

${}#{}的区别:${}注入会直接注入,即注入的变量是什么就注入什么,

#{}会在你注入的变量上加上“”

因此当你采用${}注入时,如果注入的内容恰好是sql语句,则会改变你开始的sql语句#{}则不会

 

 

以上是关于10.分页+使用注解开发CURD的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis配置解析以及日志的处理,分页的使用,使用注解开发,Lombok入门

Mybatis配置解析以及日志的处理,分页的使用,使用注解开发,Lombok入门

LambdaQueryWrapper&QueryWrapper增删改CURD使用教程案例

Mybatis 学习笔记总结

iOS 开发之使用 ScrollView 实现自定义滚动距离(半屏分页滑动)

SpringData JPA之方法名查询的关键字表