MyBatis新增,修改,删除数据

1、 MyBatis生成器生成的方法中已经含有两个新增方法,分别是insert和insertSelective。insertSelective只会插入数据不为null的字段值。 insert则会插入所有字段,为空会插入null。

public void insertUser(){

   //获取SqlSession

   SqlSession sqlSession=sessionFactory.openSession();

   try{

       //获取dao/mapper

       UserDAO userDAO=sqlSession.getMapper(UserDAO.class);

       //实例化po表,设置所需要新增的数据

       User user=new User();

       user.setUsername("新增");//用户名

       user.setPassword("123");//密码

       //单表新增数据 返回受影响的行数

       //int rows=userDAO.insert(user);// insert(),新增表中所有数据

       int rows=userDAO.insertSelective(user);//insertSelective(),新增表中所有非null数据

       //判断受影响行数

       if(rows>0) {

          System.out.println("新增成功");

       }

       //提交事务

       sqlSession.commit();//select update delete 都需要提交事务

   }finally{

       //关闭SqlSession

       sqlSession.close();

   }

}

2、 MyBatis生成器生成的方法中已经含有两个修改方法,分别是updateByPrimaryKey和updateByPrimaryKeySelective。updateByPrimaryKeySelective 只会修改数据不为null的字段值。 updateByPrimaryKey 修改所有字段,为空会插入null。

public void updateUser(){

   //获取SqlSession

   SqlSession sqlSession=sessionFactory.openSession();

   try{

       //获取dao/mapper

       UserDAO userDAO=sqlSession.getMapper(UserDAO.class);

       //根据id查询出所需要修改的数据

       User user=userDAO.selectByPrimaryKey(5);

       //设置所需要修改的数据

       user.setUsername("修改");//用户名

       //单表修改数据 返回受影响的行数

//int rows=userDAO.updateByPrimaryKey(user);//updateByPrimaryKey(),修改表中所有数据

  int rows=userDAO.updateByPrimaryKeySelective(user);// updateByPrimaryKeySelective(),修改表中所有非null数据

       //判断受影响行数

       if(rows>0) {

          System.out.println("修改成功");

       }

       //提交事务

       sqlSession.commit();//select update delete 都需要提交事务

   }finally{

       //关闭SqlSession

       sqlSession.close();

   }

}

3、 MyBatis生成器生成的方法中已经含根据主键删除数据的方法deleteByPrimaryKey,可以直接使用

public void deleteUser(){

   //获取SqlSession

   SqlSession sqlSession=sessionFactory.openSession();

   try{

       //获取dao/mapper

       UserDAO userDAO=sqlSession.getMapper(UserDAO.class);//根据id删除数据
      
      //返回受影响的行数

       int rows=userDAO.deleteByPrimaryKey(5);

       //判断受影响行数

       if(rows>0) {

          System.out.println("删除成功");

       }

       //提交事务

       sqlSession.commit();//select update delete 都需要提交事务

   }finally{

       //关闭SqlSession

       sqlSession.close();

   }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值