mybatis注解开发

注解开发,不需要在写UserMapper.xml,只需要用注解在方法上实现即可。

mybatis注解开发流程:

1.在接口中写方法;

2.在方法上面加入注解(SQL语句)

3.在mybtis-config中,注册mapper到class=“com.wang.mapper.UserMapper”

4.编写测试类

public interface UserMapper {
    @Select("select * from mybatis.user")
    List<user> getUserList();


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


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

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

    @Delete("delete from user where id=#{uid}")
    void deleteUser(@Param("uid")int id);
}
<mappers>
    <mapper class="com.wang.mapper.UserMapper"/>
</mappers>
public class UserMapperTest {
    @Test
    public void getUserList(){
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        List<user> userList = mapper.getUserList();
        for(user user:userList){
            System.out.println(user);
        }
    }
    @Test
    public void getUserById(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();
        UserMapper mapper=sqlSession.getMapper(UserMapper.class);
        user user=mapper.getUserById(1);
        System.out.println(user);
    }
    @Test
    public void addUser(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();
        UserMapper mapper=sqlSession.getMapper(UserMapper.class);
        int hello =mapper.addUser(new user(10,"abc","66666"));
        System.out.println(hello);
    }
    @Test
    public void updateUser(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();
        UserMapper mapper=sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(new user(2,"z334","0011123"));
        sqlSession.commit();
        sqlSession.close();
    }
    @Test
    public void deleteUser(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();
        UserMapper mapper= sqlSession.getMapper(UserMapper.class);
        mapper.deleteUser(10);
        sqlSession.commit();
        sqlSession.close();
    }
}

注解的本质是反射;

底层是动态代理;

img

注意点:使用注解开发时,事务设置为自动提交。在工具类中设置为true

public static SqlSession  getSqlSession(){
    return sqlSessionFactory.openSession(true);
}
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、付费专栏及课程。

余额充值