首页 > 其他分享 >8.注解开发

8.注解开发

时间:2023-01-05 23:57:28浏览次数:41  
标签:mapper UserMapper public sqlSession 开发 user 注解 id

对于简单的数据库操作可以使用注解开发,对于复杂的数据库操作不推荐使用!!

mybatis 的常用注解:

@Insert:新增

@Update:更新

@Delete:删除

@Select:查询

@Result:实现结果集封装

@ResultMap:实现引用

@Results 定义的封装

@One:实现一对一结果集封装

@Many:实现一对多结果集封装

@SelectProvider: 实现动态 SQL 映射

@CacheNamespace:实现注解二级缓存的使用 

 

注解开发的基本流程:

1.编写Mapper接口

2.在核心配置文件中注册Mapper接口

3.测试

 

注解的CRUD:

UserMapper

public interface UserMapper {

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

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

    @Insert("insert into mybatis.user values (#{id},#{name},#{password})")
    int addUser(User user);

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

    @Update("update user set name=#{name} where id=#{id}")
    int updateUser(@Param("id") int id,@Param("name") String name);

}

mybatis-conifg.xml

<!--绑定接口-->
<mappers>
    <mapper class="com.zuo.dao.UserMapper"/>
</mappers>

UserDaoTest.java

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

    @Test
    public void getUserById(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        User user = mapper.getUserById(1);
        System.out.println(user);
        sqlSession.close();
    }

    @Test
    public void addUser(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.addUser(new User(4,"mmmm","12346"));
        sqlSession.commit();
        sqlSession.close();
    }

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

    @Test
    public void updateUser(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        mapper.updateUser(4,"zuozuozuo");
        sqlSession.close();
    }

}

 

标签:mapper,UserMapper,public,sqlSession,开发,user,注解,id
From: https://www.cnblogs.com/zuok/p/17029171.html

相关文章

  • 与Xcode相比Adobe AIR开发iOS的优势和局限
    AIR的优势AIR的优势其实就是Flash或者ActionScript语言的优势。这些优势大家已经在互联网上看过许多了,我还是啰嗦一下:1.优秀的2D性能和渲染机制网络上关于Flash性能底下的......
  • 小白致力于成为前后端开发程序员
    小白有个烦恼,做前端项目的时候,遇到两种情况一种是在vue框架下,使用HTML写页面,script部分代码里面的方法基本上使用JS来写;一种同样在vue框架下,通过安装的框架来构建页面,scrip......
  • 使用jQuery Mobile快速开发手机站点
    来自:​​http://brooky.cc/2011/04/18/jquery-mobile-for-fast-mobile-website-development/​​ 當你看著Apple的iOSdevice和Android各自來勢洶洶,不知道到底該讓你......
  • 【深入浅出Sentinel原理及实战】「框架整合专题」Sentinel服务框架对接Dubbo服务框架
    开源框架适配为了减少开发的复杂程度,Sentinel对大部分的主流框架都进行了适配,例如:WebServlet、Dubbo、SpringCloud、gRPC、SpringWebFlux和Reactor等。云原生微服务......
  • Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析
    1、代码生成器原理分析造句:我们可以往空白内容进行填词造句,比如:在比如:观察我们之前写的代码,会发现其中也会有很多重复内容,比如:那我们就想,如果我想做一个Book模块......
  • Windows下的Objective-C集成开发环境(IDE)
    Objective-C是苹果软件的编程语言,想要上机学习、调试,有一个集成开发环境(IDE)方便很多。有三类方法搭建Objective-C的集成开发环境:1)   使用苹果的平台,集成开发环境使用Xco......
  • 使用jqueryMobile + phoneGap 开发移动端应用
    ​​1、软件准备要进行androidapp的开发,当然需要准备Java,eclipse和安装AndroidSDK,这个部分网络上面很多方法,搜索“安装AndroidSDK”即可找到很多答案,所以就不再这里......
  • “你帮我助”软件开发总结
    利用软件工程的指导思想开发软件比盲目的开发更有效率,结构更加清晰。1、首先是,在真正写代码前,要认真分析需求,最好是能够写出软件实际项目结构(越详细越好,有不合理的地方后......
  • Golang服务端开发及微服务架构
    ​​Go语言中使用panic和recover简化错误处理​​​​Go语言中的单元测试及反向代理​​​​Go获取命令行参数及信号量处理​​​​Go各种类型转换及函数的高级用法​​......
  • 开发Adobe AIR移动应用程序的考虑事项
    扩展:​​http://mobile.51cto.com/Adobe-302658.htm​​ AdobeAIR经过发展演进,已经超越了最初作为桌面应用程序平台的目标。如今,它支持跨移动、桌面和数字家用设备的独立......