• 增删改查过程中的知识点

1.在对于D语言项目的增删改查中,如果我们想要保存我们添加的数据的时候,可以用下面的方式

auto repo = new xxxRepository(_cManager);
repo.save(xxx);
//这样我们就将信息保存到数据表中了

2.在D语言中如何对信息进行查找

auto repo = new xxxRepository(_cManager);
auto data = repo.find(id)//find(id)用来查询数据表中的这个Id下面的单条信息
auto data = repo.findAll//findAll是用来查询数据表中的所有信息

3.D语言中如何删除删除某条信息

auto repo = new xxxRepository(_cManager);
repo.removeById(id);
//removeById用来删除这个Id下面的单条信息

4.D语言中进行关联查询的时候例如blog表与user表关联

    //在blog表中关联两个表的信息,user_id代表在user表的Id
    @OneToOne()
    @JoinColumn("user_id")
    User  user;

  • request的用法

request 是浏览器对于服务器发出的请求 request的用法

//get类型的
int id = request.get!int("id", 0);//因为request的类型默认为字符串类型的
//post类型的
 auto id = request.post("id");//当我们需要进行字符转换的时候,可参考D语言字符转换,用.to!的方法
 auto allFiles = request.allFiles();
 request.all是得到请求里所有的值
  • 如何用D语言实现字符转换

数值格式和字符格式,在不同的场合有不同的用处,有些场合须用数字格式,有些场合需要用到字符格式,所以我们要进行字符转换来应对不同情况

例如
string pwd = configManager().config("hunt").hunt.redis.password.value.to!string;
//D语言用.to!来进行格式转换,如果要变成字符串类型我们就在.to!后面加上string,如果想要变成int类型就在.to!后面加上int...
//cast的用法
CAST是将一种数据类型的表达式转换为另一种数据类型的表达式。

例如
int now = cast(int) time();
  • 在做添加信息跟修改信息的操作时我们将会用到form的表单校验,下面的例子就是如何用D语言进行表单校验
if (request.methodAsString() == HttpMethod.POST.asString()) {
            auto validRes = dataForm.valid();
            if(!validRes.isValid) {
                auto errors = validRes.messages();
                foreach(error; errors) {
                    assignError(error);
                }
                return new Response(request)
                .setHeader(HttpHeader.CONTENT_TYPE, MimeType.TEXT_HTML_UTF_8.asString())
                .setContent("<script>history.back(-1);</script>");
            //如果信息不满足条件的话将会跳回到上一个页面
  • 在form表单中对某些数据有条件限制,例如对长度要求
class classForm : form
{
    @Length (1,20)//长度在1,20之间
    string classname;

    @Min(1,"没有找到这个id")
    int id;

    @Range(1, 3, "没有多余选项")
    int audit;

}
  • D语言中的for循环怎么使用
for 循环
例如

import std.stdio;

int main ()
{
   /* for loop execution */
   for( int a = 10; a < 20; a = a + 1 )
   {
      writefln("value of a: %d", a);
   }

   return 0;
}

	让我们编译和运行上面的程序,这将产生以下结果:
value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 15
value of a: 16
value of a: 17
value of a: 18
value of a: 19
08-30 16:11