码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-01 12:10:26      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:注入   users   session   对象   span   mamicode   png   delete   update   

分页

为什么要分页?

减少数据的处理量

 

一开始我们用的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

标签:注入   users   session   对象   span   mamicode   png   delete   update   

原文地址:https://www.cnblogs.com/tuyaojiao/p/12388800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!