增删改查的实现

进阶

CRUD

1.namespace

namespace中的包名要和mapper接口的报名一致

2.select

  • 选择,查询语句

  • id:就是namespace方法名字

  • resultType:SQL语句执行的返回值

  • parmeterType:参数类型

1.编写接口

public interface UserMapper {   
 //查询所有用户 
   List<User> getUserList();  
  //跟据ID 查询一个用户   
 User getUserById(int id); 
   //insert一个用户  
 int addUser(User user); 
  //修改用户  
 int upsateUser(User user);  
 //删除一个用户  
  int deleteUser(int id);}

2.编写对应的mapper中的SQL语句

<mapper namespace="com.kuang.dao.UserMapper">  
  <!--select 查询语句-->  
  <select id="getUserList" resultType="com.kuang.pojo.User">     
   select * from mybatis.user;   
 </select>  
    <select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">    
  select * FROM mybatis.user where id=#{id}/*#id是可变的参数*/ 
   </select>     

3.测试

public class UserDaoTest {
    @Test/*查看所有*/ 
   public void test() { 
       SqlSession sqlSession = MybatisUtils.getSqlSession(); 
       UserMapper userDao = sqlSession.getMapper(UserMapper.class);       
  List<User> userList = userDao.getUserList();       
           for (User user : userList) {           
        System.out.println(user);       
 }       
 sqlSession.close();    
}   
  @Test/*查看指定的*/
public void getUserById(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();/*获取执行SQL的对象*/
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);/*获取UserMaper的对象*/
        User userById = mapper.getUserById(1);    
               System.out.println(userById);    
    sqlSession.close();  
  } 
  @Test  
  public void addUser(){ 
       SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class); 
       int haha = mapper.addUser(new User(4, "haha","d")); 
     if(haha!=0) { 
         System.out.println("成功改动了"+haha+"个点");   
   } 
       sqlSession.commit();/*增删改需要提交事务*/
       sqlSession.close();   
 }   
 @Test/*修改一个内容*/
    public void upsateUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession(); 
       UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int i = mapper.upsateUser(new User(4, "狗蛋", "123456"));
        sqlSession.commit();        sqlSession.close();  
  }   
 @Test  
    public void deletdUser(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        int i = mapper.deleteUser(4);       
    if (i>0){ 
          System.out.println("成功删除id为"+i+"的用户"); 
              }        
        sqlSession.commit();
        sqlSession.close();    }

3.insert

 <!--对象中的属性可直接去除--><insert id="addUser" parameterType="com.kuang.pojo.User">    insert into mybatis.user (id,name,pwd) value(#{id},#{name},#{pwd})</insert>  

4.update

<update id="upsateUser" parameterType="com.kuang.pojo.User">        update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}    </update>  

5.delete

<delete id="deleteUser" parameterType="int">        delete from mybatis.user where id=#{id}    </delete>

注意点:

增删改需要提交事务

读错要从后往前读

猜你喜欢

转载自www.cnblogs.com/Liguangyang/p/12710195.html