Mybatis-4-适合初学

目录

目录

一.用注解开发

(1)注解--查询操作

(2)注解--增加操作

(3)注解--修改操作

(4)注解--删除操作

更新:



一.用注解开发

(1)注解--查询操作

1.不用xml,删除UserMapper.servlet-----》在核心配置文件中删除之前注册的

2.创建接口(在接口上方添加注解@Select-----》对应不同的需求更换,这里是查询)

    @Select("select * from user")
    public List<User> getUser();

3.在核心配置文件中注册,操作和之前差不多,只不过换成了class

4.测试

    public void getUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.getUser();
        for (User user : users) {
            System.out.println(user);
        }
        sqlSession.close();

    }

 结果和之前的是一样的!!

当方法存在多个参数怎么办?所有的参数前面必须加上@Param(“id”)的注解,

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

重点来了:Param里面的东西也就是id必须和Where id=#{id}同名,不然取不出数据

(2)注解--增加操作

1.创建接口

  @Insert("insert into user(id,name,pwd)values(#{id},#{name},#{pwd})")
    public int addUser(User user);
2.测试:
    @Test
    public void addUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.addUser(new User(6,"易维斌","1234566"));
        sqlSession.close();
    }

(3)注解--修改操作

1.创捷接口

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

2.测试:

    public void updateUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(new User(5,"SHA","147"));
        sqlSession.close();
    }

(4)注解--删除操作

1.创建接口

   @Delete("delete from user where id=#{tid}")
    public  int deleteUser(@Param("tid") int id);

2.测试:

    @Test
    public void deleteUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.deleteUser(6);
        sqlSession.close();
    }

更新:

之前说每次执行完sql语句都要sqlSession.commit来提交事务,现在优化一下

    public  static SqlSession getSqlSession(){
        return   sqlSessionFactory.openSession(true);
    }//自动提交事务

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值