mybatis学习小点

MyBatis 的 resultType

返回值类型

resultType: 返回值类型,类型即为对象类型。返回结果字段与对象属性匹配映射,类型中的属性名要与查询条件保持一致,否则就会失败。

返回集合

1
public List<MyUser> selectMyUserByNameLike(String name);
1
2
3
4
<!-- resultType 集合内的元素类型 -->
<select id="selectMyUserByNameLike" resultType="myUser" parameterType="string">
select * from myuser where name like #{name}
</select>

react学习1

为什么选 React

传统

  • 1.传统UI操作关注太多细节
  • 2.应用程序状态分散在各处,难以追踪和维护

React

  • 1.始终整体刷新页面。

1个新概念
4个必须API
单向数据流
完善的错误提示

React 解决了UI 细节问题
数据模型问题如何维护?

出现问题难追踪,是 model 问题,还是 view 问题?

DDD 领域驱动学习

DDD: Domain-Driven Design

领域服务

我们做的事:

  • 将 领域行为 封装在 领域对象 中
  • 将 资源管理 封装到 资源库 中
  • 将 外部上下文交互行为 封装到 防腐层 中

此时,能够发现 领域服务 本身所承载的职责也就更加清晰了,即就是
通过串联领域对象、资源库和防腐层 等一系列领域内的对象的行为,对其他上下文提供交互的接口。

Scala实战 -- 对List中的部分元素进行合并操作

近期业务出现了一个需求,需要对一个相同实体的List中,部分实体名和id相同的元素进行合并,将其合并为一个实体,以便在业务上做统计处理,合并后的实体为合并前的实体的某些数值相加。
此需求催生了本篇文章。我们将抽象一个简单的实体来介绍,如何在Scala List 中合并部分Element 元素。

🎮 Play 入门与学习(五) 2.5.x 版本自定义 Action

由于目前在公司使用的 Play 版本是 2.5.4,本章将会讲解一下对此版本 Action 的相关知识。

使用 ActionBuilder 构建一个通用的 Action

1
2
3
4
5
6
7
8
9
10
object LogAction extends ActionBuilder[Request] {
override def invokeBlock[A](request: Request[A], block: (Request[A]) => Future[Result]): Future[Result] = {
val start = System.currentTimeMillis()
block(request).map { result =>
val duration = System.currentTimeMillis() - start
println(s"请求 $request 耗时 $duration")
result
}
}
}