后端框架的学习----mybatis框架(7、使用注解开发)

简介: 这篇文章讲述了如何使用MyBatis框架的注解方式进行开发,包括在接口上使用注解定义SQL语句,并通过动态代理实现对数据库的增删改查操作,同时强调了接口需要在核心配置文件中注册绑定。

7、使用注解开发

1、注解在接口上实现

    /**
     * 查询用户
     */
    @Select("select * from user")
    public List<User> getUsers();

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

    <mappers>
       <package name="com.zheng.Dao"/>
    </mappers>

本质:反射机制实现
底层:动态代理

使用注解实现增删改查
1、接口

public interface UserMapper {

    /**
     * 查询用户
     */
    @Select("select * from user")
    public List<User> getUsers();

    /**
     * 根据id查询用户
     */
    @Select("select * from user where id=#{id}")
    public User selectUserById(@Param("id") String id);

    /**
     * 增加
     */
    @Insert("insert into user (id,name,pwd) values (#{id},#{name},#{pwd})")
    public int addUser(User user);

    /**
     * 修改
     */
    @Update("update user set name=#{name},pwd=#{pwd} where id=#{id}")
    public int update(User user);

    /**
     * 删除一个用户
     */
    @Delete("delete from user where id=#{id}")
    public int deleteUser(String id);

}

2、测试

public class UserDaoTest {

@Test  //查询所有的用户
public void test() {
    SqlSession sqlSession = MyBtaisUtil.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    List<User> userList = mapper.getUsers();
    for (User user : userList) {
        System.out.println(user);

    }
    sqlSession.close();


}

@Test  //根据id查询用户
public void selectUserById(){
    SqlSession sqlSession = MyBtaisUtil.getSqlSession();
    UserMapper user = sqlSession.getMapper(UserMapper.class);
    User user1 = user.selectUserById("1");
    if(user1!=null){
        System.out.println(user1);
    }else{
        System.out.println("查询失败");
    }
    sqlSession.close();

}

@Test  //增加用户
public void addUser(){
    SqlSession sqlSession = MyBtaisUtil.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
   int res= mapper.addUser(new User("3","老刘","999"));
   if(res>0){
       System.out.println("增加成功!!!");

   }else{
       System.out.println("增加失败");
   }
   sqlSession.close();
}

@Test  //修改用户
public void updateUser(){
    SqlSession sqlSession = MyBtaisUtil.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    int res = mapper.update(new User("3", "范梦涵", "1234567"));
    if(res>0){
        System.out.println("修改成功");

    }else {
        System.out.println("修改失败!!!");
    }
    sqlSession.close();
}

@Test  //删除用户
public void deleteUser(){
    SqlSession sqlSession = MyBtaisUtil.getSqlSession();
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    int res = mapper.deleteUser("3");
    if(res>0){
        System.out.println("删除成功!!!");

    }else{
        System.out.println("提交失败");
    }
    sqlSession.close();
}
}

注意
我们可以在工具类创建的时候实现自动提交事务

  • 测试类
    【注意:我们必须要将接口注册绑定到我们的核心配置文件中】

  • 关于@Param()注解

  • 基本类型的参数或者String类型,需要加上

  • 引用类型不需要加

  • 如果只有一个基本类型的话,可以忽略,但是建议大家都加上

  • 我们在SQL中引用的就是我们这里的@Param()中设定的属性名

相关文章
|
2月前
|
存储 缓存 负载均衡
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
90 6
|
17天前
|
SQL Java 数据库连接
对Spring、SpringMVC、MyBatis框架的介绍与解释
Spring 框架提供了全面的基础设施支持,Spring MVC 专注于 Web 层的开发,而 MyBatis 则是一个高效的持久层框架。这三个框架结合使用,可以显著提升 Java 企业级应用的开发效率和质量。通过理解它们的核心特性和使用方法,开发者可以更好地构建和维护复杂的应用程序。
106 29
|
28天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
52 2
|
2月前
|
开发框架 小程序 前端开发
圈子社交app前端+后端源码,uniapp社交兴趣圈子开发,框架php圈子小程序安装搭建
本文介绍了圈子社交APP的源码获取、分析与定制,PHP实现的圈子框架设计及代码编写,以及圈子小程序的安装搭建。涵盖环境配置、数据库设计、前后端开发与接口对接等内容,确保平台的安全性、性能和功能完整性。通过详细指导,帮助开发者快速搭建稳定可靠的圈子社交平台。
|
1月前
|
缓存 NoSQL Java
Mybatis学习:Mybatis缓存配置
MyBatis缓存配置包括一级缓存(事务级)、二级缓存(应用级)和三级缓存(如Redis,跨JVM)。一级缓存自动启用,二级缓存需在`mybatis-config.xml`中开启并配置映射文件或注解。集成Redis缓存时,需添加依赖、配置Redis参数并在映射文件中指定缓存类型。适用于查询为主的场景,减少增删改操作,适合单表操作且表间关联较少的业务。
|
2月前
|
SQL Java 数据库连接
MyBatis-Plus高级用法:最优化持久层开发
MyBatis-Plus 通过简化常见的持久层开发任务,提高了开发效率和代码的可维护性。通过合理使用条件构造器、分页插件、逻辑删除和代码生成器等高级功能,可以进一步优化持久层开发,提升系统性能和稳定性。掌握这些高级用法和最佳实践,有助于开发者构建高效、稳定和可扩展的企业级应用。
124 13
|
2月前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
167 3
|
2月前
|
运维 监控 Java
后端开发中的微服务架构实践与挑战####
在数字化转型加速的今天,微服务架构凭借其高度的灵活性、可扩展性和可维护性,成为众多企业后端系统构建的首选方案。本文深入探讨了微服务架构的核心概念、实施步骤、关键技术考量以及面临的主要挑战,旨在为开发者提供一份实用的实践指南。通过案例分析,揭示微服务在实际项目中的应用效果,并针对常见问题提出解决策略,帮助读者更好地理解和应对微服务架构带来的复杂性与机遇。 ####
|
2月前
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
58 1
|
2月前
|
消息中间件 运维 API
后端开发中的微服务架构实践####
本文深入探讨了微服务架构在后端开发中的应用,从其定义、优势到实际案例分析,全面解析了如何有效实施微服务以提升系统的可维护性、扩展性和灵活性。不同于传统摘要的概述性质,本摘要旨在激发读者对微服务架构深度探索的兴趣,通过提出问题而非直接给出答案的方式,引导读者深入
57 1