温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何简化数据库操作

发布时间:2021-12-20 10:54:41 来源:亿速云 阅读:159 作者:iii 栏目:软件技术

这篇文章主要介绍“如何简化数据库操作”,在日常操作中,相信很多人在如何简化数据库操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何简化数据库操作”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

我们在写代码的时候,什么东西让我们最痛苦?  我想大部分人都会说是重复的工作,但是重复的工作又是指什么呢?  我想了想可能包含以下几点:

  1. 实体类

  2. 建sqlMapper.xml,或者其他框架的注解映射

  3. 建DAO去关联sqlMapper.xml,或者用代码去替代sql

  4. Controller

所以我在想,如果可以不需要实体类,不需要sqlMapper.xml,不需要Controller就好了,这样一来,如果需要开发一个后端功能,只需要写Service就好了,而这一段几乎是编程中最有乐趣的地方(仅限应用层编程,底层研发的当我没说)

而Mars-java就是在这样的一个思路下诞生的

  1. 只需要在Service的父接口上加上两个注解,即可对外提供一个http接口,又或者可以重新创建一个interface+注解 去代替Controller

  2. 操作数据库只需要一行注解,没有sqlMapper.xml

  3. 如果你能够接受无实体类编程的话,可以不创建实体类,而采用Map

简单示例

如果我们需要写一个登录接口只需要这么几步

创建一个DAO
@MarsDao
public abstract class UserInfoDAO {

    // 可以返回Map也可以返回实体类
    @MarsSelect(sql = "select * from `userinfo` where uname=#{uname} and passwd=#{passwd}")
    public abstract List<Map> selectUserInfo(Map<String, Object> userInfo);
}
创建Service

按照惯例来说,我们需要先写一个interface,再写一个实现类

Interface

public interface UserInfoService {

  UserInfo login(Map<String, Object> userInfo);
}

实现类

@MarsBean
public interface UserInfoServiceImpl implements  UserInfoService {

  public UserInfo login(Map<String, Object> userInfo){
    // 在这里面调用DAO
  }
}

开放一个http接口

只需要在UserInfoService上加两个注解即可

@MarsApi
public interface UserInfoService {

  @MarsReference(beanName = "userInfoServiceImpl",refName = "login")
  UserInfo login(Map<String, Object> userInfo);
}

整个流程省掉了很多重复性的代码,让我们专注在Service这一层

到此,关于“如何简化数据库操作”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI