后端框架的学习----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()中设定的属性名

相关文章
|
1月前
|
SQL Java 数据库连接
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
MyBatis-Plus是一个MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文讲解了最新版MP的使用教程,包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段等核心功能。
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
|
1月前
|
SQL Java 数据库连接
持久层框架MyBatisPlus
持久层框架MyBatisPlus
44 1
持久层框架MyBatisPlus
|
1月前
|
SQL 缓存 Java
MyBatis如何关闭一级缓存(分注解和xml两种方式)
MyBatis如何关闭一级缓存(分注解和xml两种方式)
69 5
|
1月前
|
Java 数据库连接 mybatis
Mybatis使用注解方式实现批量更新、批量新增
Mybatis使用注解方式实现批量更新、批量新增
53 3
|
1月前
|
SQL 存储 数据库
深入理解@TableField注解的使用-MybatisPlus教程
`@TableField`注解在MyBatis-Plus中是一个非常灵活和强大的工具,能够帮助开发者精细控制实体类与数据库表字段之间的映射关系。通过合理使用 `@TableField`注解,可以实现字段名称映射、自动填充、条件查询以及自定义类型处理等高级功能。这些功能在实际开发中,可以显著提高代码的可读性和维护性。如果需要进一步优化和管理你的MyBatis-Plus应用程
170 3
|
1月前
|
Java 数据库连接 mybatis
Mybatis使用注解方式实现批量更新、批量新增
Mybatis使用注解方式实现批量更新、批量新增
93 1
|
3月前
|
SQL XML Java
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
文章介绍了MyBatis的简单增删改查操作,包括创建数据表、实体类、配置文件、Mapper接口及其XML文件,并解释了`#{}`预编译参数和`@Param`注解的使用。同时,还涵盖了resultType与resultMap的区别,并提供了完整的代码实例和测试用例。
mybatis复习02,简单的增删改查,@Param注解多个参数,resultType与resultMap的区别,#{}预编译参数
|
2月前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
207 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
2月前
|
NoSQL Java Redis
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
这篇文章介绍了如何使用Spring Boot整合Apache Shiro框架进行后端开发,包括认证和授权流程,并使用Redis存储Token以及MD5加密用户密码。
39 0
shiro学习四:使用springboot整合shiro,正常的企业级后端开发shiro认证鉴权流程。使用redis做token的过滤。md5做密码的加密。
|
2月前
|
Java 数据库连接 API
springBoot:后端解决跨域&Mybatis-Plus&SwaggerUI&代码生成器 (四)
本文介绍了后端解决跨域问题的方法及Mybatis-Plus的配置与使用。首先通过创建`CorsConfig`类并设置相关参数来实现跨域请求处理。接着,详细描述了如何引入Mybatis-Plus插件,包括配置`MybatisPlusConfig`类、定义Mapper接口以及Service层。此外,还展示了如何配置分页查询功能,并引入SwaggerUI进行API文档生成。最后,提供了代码生成器的配置示例,帮助快速生成项目所需的基础代码。
152 1

热门文章

最新文章

下一篇
DataWorks