- 增删改查过程中的知识点
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