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语句#{}则不会

 

猜你喜欢

转载自www.cnblogs.com/tuyaojiao/p/12388800.html
今日推荐