如何简化数据库操作
admin
2023-02-20 19:20:01
0

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

  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 selectUserInfo(Map userInfo);
}
创建Service

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

Interface

public interface UserInfoService {

  UserInfo login(Map userInfo);
}

实现类

@MarsBean
public interface UserInfoServiceImpl implements  UserInfoService {

  public UserInfo login(Map userInfo){
    // 在这里面调用DAO
  }
}

开放一个http接口

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

@MarsApi
public interface UserInfoService {

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

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

相关内容

热门资讯

天然气炉子火太小是什么原因 天然气炉子火太小是什么原因要先排除是因为燃气灶之外的第三方原因造成的,比如说,使用的时候是用气高峰期...
煤气灶电池几号 不同型号的煤气灶可能需要不同型号的电池,常见的煤气灶电池型号有 1 号、2 号、5 号和 7 号。如...
煤气灶烧一会自动熄火两灶多会熄... 原因可能是燃起不足,供应不了两个煤气灶,可以关闭一个,若是一个也供应不上就需要补充煤气了;原因可能是...
燃气灶成黄火是什么原因 燃气灶成黄火的原因有很多,主要是以下几个方面:1. 气体供应不足:使用燃气灶时,如果气体供应不足,即...
燃气灶风门调到最大还是黄火怎么... 原因是燃气质量不稳定,燃气灶一次性空气量供给不足,导致燃烧不良生成黄焰火,还有可能是因为燃气灶的风门...
以青春之我 创青春中国 湖北武汉市,光谷实验室研究员张静宇聚力飞秒激光前沿赛道,突破技术壁垒,提升单张玻璃光盘的理论容量; ...
追觅科技全球发布会周收官 集中... 美国时间4月27日至30日,以“DREAME NEXT”为主题的追觅科技全球发布会周在硅谷收官。 四...
后退的阶梯:我在互联网公司的1... 如果说,张小满的前一本书《我的母亲做保洁》提供给公众一个刻下罕见的“劳动者视角”,那么此番《大厂小民...
原创 资... 也许AI故事的结局,不是赛博朋克的颠覆神话,而是无数个“广告收入从1块变成1块1”的枯燥细节。 作者...