Mybatis----面向接口

让mybatis自动生成dao层接口的实现类

这是dao层接口的实现类,在mybatis中我们可以省略这种实现接口的方式,直接面向接口操作数据库,mybatis可以帮我们自动生成接口的实现类,也就是下面这个实现类mybatis帮我们生成了。

1、修改service,生成代理对象,调用接口方法,等同于上述图片内容的作用。

复制代码
public class NewAccountService {
    SqlSession sqlSession= SqlSessionUtil.openSession();
    Account account=new Account();
    public void changeAccount(String from_number,String to_number,Double balance){
        //获取接口对象相当于AccountDao accountDao=new AccountDaoImpl();
        AccountDao mapper = sqlSession.getMapper(AccountDao.class);
        //判断余额是否充足
        Account account=new Account();
        if(mapper.select(from_number)<balance){
            System.out.println("余额不足");
        }
        else{

            account.setAccountNumber(from_number);
            account.setBalance(mapper.select(to_number)-balance);
            mapper.updata(account);
            account.setAccountNumber(to_number);
            account.setBalance(mapper.select(to_number)+balance);
            mapper.updata(account);
        }
        sqlSession.commit();
        sqlSession.close();
    }
}

2、修改映射文件,将映射文件中的namespace标签属性修改为Dao层接口所在的位置,将查询更新语句中的id修改该为与接口中对应的方法一致。

3、测试

初始数据库数据

结果

相关推荐
慧一居士4 小时前
MyBatis-Plus的完整使用示例,完整使用示例手册
mybatis
艺杯羹10 小时前
MyBatis之核心对象与工作流程及SqlSession操作
java·mybatis
天天摸鱼的java工程师15 小时前
MyBatis Plus 的实用技巧:从业务场景到代码实现
java·后端·mybatis
wuxuanok15 小时前
Web后端开发-Mybatis
java·开发语言·笔记·学习·mybatis
netyeaxi1 天前
Java:使用spring-boot + mybatis如何打印SQL日志?
java·spring·mybatis
小七mod1 天前
【MyBatis】MyBatis与Spring和Spring Boot整合原理
spring boot·spring·mybatis
椰椰椰耶1 天前
【MyBatis】XML实现,配置方法和增、删、改、查
xml·oracle·mybatis
GJCTYU2 天前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
DuelCode2 天前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
荔枝吻2 天前
【沉浸式解决问题】idea开发中mapper类中突然找不到对应实体类
java·intellij-idea·mybatis