程序员社区

MyBatis使用注解开发

1.注解完成select

1.注解在接口上实现:

package com.kuang.dao;
import com.kuang.pojo.User;
import org.apache.ibatis.annotations.Select;
import java.util.List;

public interface UserMapper {
 @Select("select * from user")
 List<User> getUsers();
}

2.需要在核心配置文件中绑定接口

 <!--每一个Mapper.xml都需要在MyBatis核心配置文件中注册-->
 <mappers>
     <mapper class="com.kuang.dao.UserMapper"/>
 </mappers>

3.测试

public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.getUsers();
        for(User user:users){
            System.out.println(user);
        }
        sqlSession.close();
    }
}

2.注解完成CRUD(增删改查)

1.编写接口:UserMapper

package com.kuang.dao;

import com.kuang.pojo.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface UserMapper {
    @Select("select * from user")
    List<User> getUsers();

    //方法存在多个参数,所有的参数前面前面必须加上@Param("id")注解
    @Select("select * from user where id=#{id}")
    User getUserByID(@Param("id")int id);

    @Insert("insert into user(id,name,pwd) values(#{id},#{name},#{password})")
    int insertUser(User user);

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

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

2.在核心配置文件中绑定接口:

 <mappers>
    <mapper class="com.kuang.dao.UserMapper"/>
</mappers>

3.编写接口的实现类:

import com.kuang.dao.UserMapper;
import com.kuang.pojo.User;
import com.kuang.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;

import java.util.List;


public class UserMapperTest {
    @Test
    public void test(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<User> users = mapper.getUsers();
        for(User user:users){
            System.out.println(user);
        }
        sqlSession.close();
    }

    @Test
    public void getUserBYID(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.getUserByID(1);
        sqlSession.close();
    }

    @Test
    public void insertUser(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.insertUser(new User(7, "haha", "345"));
        sqlSession.close();
    }

    @Test
    public void updateUser(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(new User(7,"hengheng","456"));
        sqlSession.close();
    }

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

赞(0) 打赏
未经允许不得转载:IDEA激活码 » MyBatis使用注解开发

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区