Jadual Kandungan
这里是Classroom的添加页面
这里是Classroom的管理页面
这里是Classroom--{{name}}的修改页面
Rumah pangkalan data tutorial mysql Python+Django+SAE系列课程13-MySQL记录的添删改

Python+Django+SAE系列课程13-MySQL记录的添删改

Jun 07, 2016 pm 04:25 PM
siri kursus

Python+Django+SAE系列教程13-----MySQL记录的添\删\改 建立了数据库后,我们就来做一个简单的表( person_classroom )的添加、删除、修改的操作。 首先我们建立一个添加的页面的模板 Classroom_Add.html(添加的表单) 并把它放在 Bidding\templates\person

Python+Django+SAE系列教程13-----MySQL记录的添\删\改

建立了数据库后,我们就来做一个简单的表(person_classroom)的添加、删除、修改的操作。

首先我们建立一个添加的页面的模板Classroom_Add.html(添加的表单)并把它放在Bidding\templates\person中:

Classroom_Add.html



    <title>数据库操作简单表的添加</title>


    <h1 id="这里是Classroom的添加页面">这里是Classroom的添加页面</h1>
    {% if error %}
        <p style="color: red;">请输入班级名称和导师姓名</p>
    {% endif %}
   
Salin selepas log masuk
项目 内容
班级名称:
导师姓名:

Classroom_Add_results.html


    <title>查询用户结果页</title>


    
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
班级:{{name}}添加成功 !
点击返回
上面的 这个文件时添加后的结果页。

然后建立对应的view,我们修改person/views.py 文件

Views.py

# -*- coding: utf-8 -*-
from django.shortcuts import render_to_response
from django.db import connection,transaction
from person.models import *

def ClassroonAdd(request):
    if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']:
        name = request.GET['name']
        tutor = request.GET['tutor']

        cursor=connection.cursor()
        sql='insert into person_classroom (name,tutor) values (\''+name+'\',\''+tutor+'\')'
        cursor.execute(sql)
        transaction.commit_unless_managed()
        cursor.close()
        
        return render_to_response('person/Classroom_Add_results.html',
            {'name': name})
    else:
        return render_to_response('person/Classroom_Add.html', {'error': True})
Salin selepas log masuk

在修改一下urls.py文件:

from django.conf.urls import patterns, include, url


# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'Bidding.views.home', name='home'),
    # url(r'^Bidding/', include('Bidding.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$', 'Bidding.views.hello'),
    url(r'^time/$', 'Bidding.views.current_datetime'),
    url(r'^time/plus/(\d{1,2})/$', 'Bidding.views.hours_ahead'),
    url(r'^hello_base/$', 'Bidding.views.hello_base'),
    url(r'^request_test/$', 'Bidding.views.request_test'),
    url(r'^UsersSearch/$', 'Bidding.Users.views.search_form'),
    url(r'^search/$', 'Bidding.Users.views.search'),
    url(r'^ClassRoom/add/$', 'person.views.ClassroonAdd'),
)
Salin selepas log masuk

这时我们的添加就做好了,访问一下classroom/add这个 页面,就可以看到结果了。




不过上面我们所说的办法是执行一个原始的sql语句,这个方式其实并不是Django推荐的,我们可以直接使用models操作数据库的方法,改造一下ClassroomAdd这个视图:


def ClassroonAdd(request):
    if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']:
        name = request.GET['name']
        tutor = request.GET['tutor']
        c = ClassRoom(name=name,tutor=tutor)
        c.save()
        
        return render_to_response('person/Classroom_Add_results.html',
            {'name': name})
    else:
        return render_to_response('person/Classroom_Add.html', {'error': True})
Salin selepas log masuk

这样的方法即简单,有不用我们很多sql的语法,并且最重要的是如果更换数据库类型(sqlserver->oracle),也不会因为受sql语法不一致的影响。

在接下来,我们来做一个列表页,把数据库中的Classroom表的记录以一个表格的形式显示出来。还是从模板先入手,建立一个Classroom_List.html,放入Bidding\templates\person文件夹下:

Classroom_List.html



    <title>数据库操作简单表的添加</title>


    <h1 id="这里是Classroom的管理页面">这里是Classroom的管理页面</h1>
        
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
{% for myclass in ClassroonList%} {% endfor %}
序号 班级名称 导师姓名
{{ myclass.id }} {{ myclass.name }} {{ myclass.tutor }}

添加视图:

# -*- coding: utf-8 -*-
from django.shortcuts import render_to_response
from django.db import connection,transaction
from person.models import *

def ClassroonAdd(request):
    if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']:
        name = request.GET['name']
        tutor = request.GET['tutor']

        cursor=connection.cursor()
        sql='insert into person_classroom (name,tutor) values (\''+name+'\',\''+tutor+'\')'
        cursor.execute(sql)
        transaction.commit_unless_managed()
        cursor.close()
        
        return render_to_response('person/Classroom_Add_results.html',
            {'name': name})
    else:
        return render_to_response('person/Classroom_Add.html', {'error': True})


def ClassroonAdd(request):
    if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']:
        name = request.GET['name']
        tutor = request.GET['tutor']
        c = ClassRoom(name=name,tutor=tutor)
        c.save()
        
        return render_to_response('person/Classroom_Add_results.html',
            {'name': name})
    else:
        return render_to_response('person/Classroom_Add.html', {'error': True})





def ClassroonList(request):
        cursor=connection.cursor()
        sql='select id,name,tutor from person_classroom'
        ClassroonList=ClassRoom.objects.raw(sql)
        return render_to_response('person/Classroom_List.html',
            {'ClassroonList': ClassroonList})
Salin selepas log masuk

配置urls.py:

from django.conf.urls import patterns, include, url


# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'Bidding.views.home', name='home'),
    # url(r'^Bidding/', include('Bidding.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$', 'Bidding.views.hello'),
    url(r'^time/$', 'Bidding.views.current_datetime'),
    url(r'^time/plus/(\d{1,2})/$', 'Bidding.views.hours_ahead'),
    url(r'^hello_base/$', 'Bidding.views.hello_base'),
    url(r'^request_test/$', 'Bidding.views.request_test'),
    url(r'^UsersSearch/$', 'Bidding.Users.views.search_form'),
    url(r'^search/$', 'Bidding.Users.views.search'),
    url(r'^ClassRoom/add/$', 'person.views.ClassroonAdd'),
    url(r'^ClassRoom/list/$', 'person.views.ClassroonList'),
)
Salin selepas log masuk

如同上述讨论的一样,我们现在的视图执行的是一个原始的sql,现在我们需要用models来修改一下:

def ClassroonList(request):
        cursor=connection.cursor()
        ClassroonList=ClassRoom.objects.all()
        #ClassroonList=ClassRoom.objects.filter(name__icontains='大')
        return render_to_response('person/Classroom_List.html',
            {'ClassroonList': ClassroonList})  
Salin selepas log masuk

如果需要执行where或者order by等操作可以这样:

 ClassroonList=ClassRoom.objects.filter(name__icontains='').order_by(‘name’)

这里还有很多关于选择的内容以后我们逐渐会介绍到。

做完了列表页,我们在来做一个修改的页面,思路是这样的:在列表页中的每一行的后面添加一列“修改”按钮,点击按钮后跳转到修改页面,首先以此条记录的主键专递到修改页面,在修改页面中要先读取出数据库中的信息,然后点击确定按钮以后执行修改操作。

我们首先来修改这个管理页面的模板:

Classroom_List.html



    <title>数据库操作简单表的添加</title>


    <h1 id="这里是Classroom的管理页面">这里是Classroom的管理页面</h1>
        
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
{% for myclass in ClassroonList%} {% endfor %}
序号 班级名称 导师姓名 操作
{{ myclass.id }} {{ myclass.name }} {{ myclass.tutor }}

建立一个Classroom_Modify.html模板,把它放在Bidding\templates\person文件夹下

Classroom_Modify.html



    <title>数据库操作简单表的修改</title>


    <h1 id="这里是Classroom-name-的修改页面">这里是Classroom--{{name}}的修改页面</h1>
    {% if error %}
        <p style="color: red;">请输入班级名称和导师姓名</p>
    {% endif %}
   
Salin selepas log masuk
项目 内容
班级名称:
导师姓名:

Classroom_Modify_results.html


    <title>查询用户结果页</title>


    
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
  修改前 修改后
班级名称: {{old_name}} {{new_name}}
导师姓名: {{old_tutor}} {{new_tutor}}
修改成功!
点击返回

添加视图:

def ClassroonModify(request,id1):
    cursor=connection.cursor()
    sql='select id,name,tutor from person_classroom where id='+id1
    ClassroonList=ClassRoom.objects.raw(sql)
    old_name = ClassroonList[0].name
    old_tutor = ClassroonList[0].tutor
    if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']:
        new_name = request.GET['name']
        new_tutor = request.GET['tutor']
        cursor=connection.cursor()
        sql='update person_classroom set name=\''+new_name+'\',tutor=\''+new_tutor+'\' where id=\''+id1+'\''
        cursor.execute(sql)
        transaction.commit_unless_managed()
        cursor.close()
        return render_to_response('person/Classroom_Modify_results.html',
            {'old_name': old_name,'old_tutor':old_tutor,'new_name':new_name,'new_tutor':new_tutor})
    else:
        return render_to_response('person/Classroom_Modify.html', {'error': True,'id':id1,'name':old_name,'tutor':old_tutor})
Salin selepas log masuk

编辑urls.py,这里面需要注意的是正则的写法,这个之前的章节已经说过了,这里我们可以再复习一遍:

from django.conf.urls import patterns, include, url


# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'Bidding.views.home', name='home'),
    # url(r'^Bidding/', include('Bidding.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$', 'Bidding.views.hello'),
    url(r'^time/$', 'Bidding.views.current_datetime'),
    url(r'^time/plus/(\d{1,2})/$', 'Bidding.views.hours_ahead'),
    url(r'^hello_base/$', 'Bidding.views.hello_base'),
    url(r'^request_test/$', 'Bidding.views.request_test'),
    url(r'^UsersSearch/$', 'Bidding.Users.views.search_form'),
    url(r'^search/$', 'Bidding.Users.views.search'),
    url(r'^ClassRoom/add/$', 'person.views.ClassroonAdd'),
    url(r'^ClassRoom/list/$', 'person.views.ClassroonList'),
    url(r'^ClassRoom/modify/(\d+)/$', 'person.views.ClassroonModify'),
)
Salin selepas log masuk

如同添加时候的问题,我们这里面使用的仍然是最原始的sql语句,我们同样可以给他修改成为model的方式:

def ClassroonModify(request,id1):
    cursor=connection.cursor()
    Classroon=ClassRoom.objects.get(id=id1)
    old_name = Classroon.name
    old_tutor = Classroon.tutor
    cursor.close()
    if 'name' in request.GET and request.GET['name'] and 'tutor' in request.GET and request.GET['tutor']:
        new_name = request.GET['name']
        new_tutor = request.GET['tutor']
        Classroon.name=new_name
        Classroon.tutor=new_tutor
        Classroon.save()
        return render_to_response('person/Classroom_Modify_results.html',
            {'old_name': old_name,'old_tutor':old_tutor,'new_name':new_name,'new_tutor':new_tutor})
    else:
        return render_to_response('person/Classroom_Modify.html', {'error': True,'id':id1,'name':old_name,'tutor':old_tutor})
Salin selepas log masuk

这样看起来是不是简便多了?我们打开 页面看看效果吧 :




接下来我们来做删除的功能,首先修改列表页的模板,加入一列删除按钮:



    <title>数据库操作简单表的添加</title>


    <h1 id="这里是Classroom的管理页面">这里是Classroom的管理页面</h1>
        
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
{% for myclass in ClassroonList%} {% endfor %}
序号 班级名称 导师姓名 操作
{{ myclass.id }} {{ myclass.name }} {{ myclass.tutor }}

Classroom_Delete_results.html:


    <title>查询用户结果页</title>


    
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
班级:{{name}}删除成功 !
点击返回

修改视图:

def ClassroonDelete(request,id1):
    cursor=connection.cursor()
    Classroon=ClassRoom.objects.get(id=id1)
    old_name = Classroon.name
    Classroon.delete()
    ClassroonList=ClassRoom.objects.all()
    cursor.close()
  return render_to_response('person/Classroom_Delete_results.html',{'name':old_name})
Salin selepas log masuk

配置urls.py:

from django.conf.urls import patterns, include, url


# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'Bidding.views.home', name='home'),
    # url(r'^Bidding/', include('Bidding.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^hello/$', 'Bidding.views.hello'),
    url(r'^time/$', 'Bidding.views.current_datetime'),
    url(r'^time/plus/(\d{1,2})/$', 'Bidding.views.hours_ahead'),
    url(r'^hello_base/$', 'Bidding.views.hello_base'),
    url(r'^request_test/$', 'Bidding.views.request_test'),
    url(r'^UsersSearch/$', 'Bidding.Users.views.search_form'),
    url(r'^search/$', 'Bidding.Users.views.search'),
    url(r'^ClassRoom/add/$', 'person.views.ClassroonAdd'),
    url(r'^ClassRoom/list/$', 'person.views.ClassroonList'),
    url(r'^ClassRoom/modify/(\d+)/$', 'person.views.ClassroonModify'),
    url(r'^ClassRoom/delete/(\d+)/$', 'person.views.ClassroonDelete'),
)
Salin selepas log masuk


到此,我们就做好了一个简单的表的添加、删除、修改的操作。


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Nama kod penuh siri Xiaomi 15 didedahkan: Dada, Haotian, Xuanyuan Nama kod penuh siri Xiaomi 15 didedahkan: Dada, Haotian, Xuanyuan Aug 22, 2024 pm 06:47 PM

Siri Xiaomi Mi 15 dijangka akan dikeluarkan secara rasmi pada bulan Oktober, dan nama kod siri penuhnya telah didedahkan dalam pangkalan kod MiCode media asing. Antaranya, perdana Xiaomi Mi 15 Ultra diberi nama kod "Xuanyuan" (bermaksud "Xuanyuan"). Nama ini berasal daripada Maharaja Kuning dalam mitologi Cina, yang melambangkan bangsawan. Xiaomi 15 diberi nama kod "Dada", manakala Xiaomi 15Pro dinamakan "Haotian" (bermaksud "Haotian"). Nama kod dalaman Xiaomi Mi 15S Pro ialah "dijun", yang merujuk kepada Maharaja Jun, tuhan pencipta "The Classic of Mountains and Seas". Sarung siri Xiaomi 15Ultra

Masa terbaik untuk membeli siri Huawei Mate 60, penghapusan AI baharu + naik taraf imej, dan nikmati promosi musim luruh Masa terbaik untuk membeli siri Huawei Mate 60, penghapusan AI baharu + naik taraf imej, dan nikmati promosi musim luruh Aug 29, 2024 pm 03:33 PM

Sejak siri Huawei Mate60 mula dijual tahun lepas, saya secara peribadi telah menggunakan Mate60Pro sebagai telefon utama saya. Dalam hampir setahun, Huawei Mate60Pro telah melalui pelbagai peningkatan OTA, dan keseluruhan pengalaman telah dipertingkatkan dengan ketara, memberikan orang perasaan sentiasa baharu. Sebagai contoh, baru-baru ini, siri Huawei Mate60 sekali lagi menerima peningkatan besar dalam keupayaan pengimejan. Yang pertama ialah fungsi penghapusan AI baharu, yang boleh menghapuskan orang yang lalu-lalang dan serpihan secara bijak dan mengisi kawasan kosong secara automatik, kedua, ketepatan warna dan kejelasan telefoto kamera utama telah dinaik taraf dengan ketara. Memandangkan ia adalah musim kembali ke sekolah, siri Huawei Mate60 juga telah melancarkan promosi musim luruh: anda boleh menikmati diskaun sehingga 800 yuan apabila membeli telefon, dan harga permulaan serendah 4,999 yuan. Produk yang biasa digunakan dan selalunya baru dengan nilai yang hebat

Bagaimana untuk memilih antara iPhone 15 dan iPhone 15 Pro? Sembilan perbezaan utama sekaligus Bagaimana untuk memilih antara iPhone 15 dan iPhone 15 Pro? Sembilan perbezaan utama sekaligus Sep 14, 2023 am 08:01 AM

iPhone15 dan iPhone15Pro dikeluarkan secara rasmi hari ini, bagaimanapun, sebagai model mewah, siri Pro bukan sahaja mempunyai harga yang lebih tinggi, tetapi juga mempunyai banyak fungsi eksklusif sebelum membeli, supaya tidak menemui beberapa masalah selepas membeli iPhone15 Fungsi ini hanya tersedia dalam siri Pro. Walaupun monitor dilengkapi dengan panel paparan yang sama, teknologi frekuensi kemas kini adaptif automatik ProMotion dan fungsi paparan sentiasa hidup masih eksklusif untuk siri Pro. Selebihnya siri iPhone 15 dan iPhone 15 Pro adalah sama dari segi resolusi, kontras, kecerahan puncak, dsb. Butang tindakan Butang tindakan kini merupakan reka bentuk eksklusif untuk siri iPhone 15 Pro, yang membolehkan pengguna memperibadikan

Apakah siri yang terdapat dalam Dewan Kemasyhuran? Apakah siri yang terdapat dalam Dewan Kemasyhuran? Feb 04, 2024 am 09:18 AM

Ramai pengguna yang ingin membeli memory stick ingin tahu apakah siri memory stick yang ada pada jenama GALAX Hall of Fame sebenarnya, jenama ini kini mempunyai tiga siri iaitu HOFEXTREME edisi terhad, HOFEXTREME, dan HOFPRORGB. Apakah siri ingatan Hall of Fame: A: HOFEXTREME edisi terhad, HOFEXTREME, HOFPRORGB. Ketiga-tiga modul memori ini semuanya mempunyai prestasi yang agak baik. Pengenalan pengembangan memori Hall of Fame: 1. Menggunakan zarah Samsung B-die, yang merupakan raja zarah memori dan mempunyai hayat perkhidmatan yang panjang.

12 halaman nota algebra linear berada dalam senarai hangat GitHub, dan juga menerima inskripsi daripada Gilbert Strang yang hebat. 12 halaman nota algebra linear berada dalam senarai hangat GitHub, dan juga menerima inskripsi daripada Gilbert Strang yang hebat. Jul 25, 2023 pm 08:13 PM

Perkara utama algebra linear telah pun dilukis oleh seseorang. Terdapat hanya 12 halaman secara keseluruhan, dan separuh daripadanya digambarkan, jadi orang baru tidak perlu risau tentang tidak memahaminya! Kini, nota ini telah menerima 4k+ bintang di GitHub dan juga dalam senarai hangat. Nota dalam gambar dipanggil "The Art of Linear Algebra" dan berdasarkan "Linear Algebra for Everyone" oleh Profesor Gilbert Strang dari MIT. Gambar Ulama Jepun, Kenji Hiranabe, memadatkan karya agung setebal 368 halaman ini menjadi ilustrasi, membuat set nota ini dan menjadikannya sumber terbuka secara percuma, dan kemudian diterjemahkan ke dalam bahasa Cina oleh netizen kfliu domestik. Hasilnya bukan sahaja mendapat respons yang baik di GitHub, tetapi juga diiktiraf oleh pengarang asal dan dimasukkan dalam kepentingan halaman pengenalan buku asal.

Pratonton penambahbaikan baharu iPhone 15 Pro dan 15 Pro Max Pratonton penambahbaikan baharu iPhone 15 Pro dan 15 Pro Max Sep 12, 2023 pm 10:45 PM

Apple akan melancarkan empat model iPhone baharu pada jam 1 pagi pada 13 September ini iaitu iPhone 15, 15 Plus, 15 Pro dan 15 Pro Max. iPhone 15 Pro dan Pro Max mewah akan menggunakan reka bentuk baharu, dan bahan sisi akan ditukar daripada keluli tahan karat kepada titanium. Warna siri Pro termasuk pilihan kelabu, hitam, biru tua, putih dan lain-lain. Skrin iPhone 15 Pro dan Pro Max akan lebih besar sedikit tahun ini berbanding 14 Pro dan 14 Pro Max tahun lepas. Perubahan ini disebabkan oleh penggunaan teknologi proses baharu Apple yang dipanggil LIPO (overmolding tekanan suntikan rendah), yang mengurangkan ketebalan bingkai skrin kira-kira satu pertiga. Model mewah akan bertukar kepada titanium dengan tekstur matte

Bagaimana untuk membeli kursus pendidikan awam Cina Bagaimana untuk membeli kursus pendidikan awam Cina Mar 13, 2024 pm 12:22 PM

Zhonggong Education ialah perisian yang memfokuskan pada pengetahuan pendidikan vokasional dan bertujuan untuk menyediakan pengguna dengan sumber pembelajaran yang komprehensif dan kaya. Sama ada anda akan menghadapi peperiksaan vokasional atau ingin meningkatkan kemahiran vokasional anda, China Public Education boleh memenuhi keperluan anda. Kandungan pengetahuan kami meliputi pelbagai jenis dan peringkat, dan dipersembahkan terutamanya dalam bentuk kursus untuk membantu pengguna mempelajari dan menguasai pengetahuan yang diperlukan secara sistematik. Jadi bagaimana untuk membeli kursus dalam talian yang anda perlukan dalam Apl Pendidikan Awam China Bagi pengguna yang belum tahu, sila teruskan membaca di bawah! Bagaimana untuk membeli kursus dalam talian dari Pendidikan Awam China? 1. Masukkan Pendidikan Awam Cina pada telefon mudah alih anda dan masukkan kata kunci. 2. Pilih jenis kursus dalam talian. 3. Klik Beli Sekarang di sudut kanan bawah. 4. Akhir sekali, pilih kaedah pembayaran dan klik untuk mengesahkan pembayaran.

Sumber pembelajaran yang disyorkan untuk koleksi serentak Java: buku, kursus dan tutorial dalam talian Sumber pembelajaran yang disyorkan untuk koleksi serentak Java: buku, kursus dan tutorial dalam talian Feb 19, 2024 pm 05:00 PM

Koleksi serentak Java ialah perpustakaan kelas koleksi dalam bahasa pengaturcaraan Java yang digunakan untuk mengurus akses serentak kepada data yang dikongsi. Koleksi serentak Java menyediakan pelbagai struktur data, seperti baris gilir, tindanan, peta dan koleksi Struktur data ini selamat untuk benang dan boleh digunakan dalam persekitaran berbilang benang. Untuk mempelajari koleksi serentak Java, anda boleh merujuk kepada buku, kursus dan tutorial dalam talian berikut: Buku: "Java Concurrent Programming in Practice" Ini ialah buku klasik dalam bidang pengaturcaraan serentak Java, dikarang bersama oleh Brian Goetz dan Tim Peierls . Buku ini memperkenalkan secara terperinci kaedah dan teknik penggunaan koleksi serentak Java, meliputi keselamatan benang, kunci, operasi atom, keterlihatan memori, dsb. Buku "The Art of Concurrent Programming in Java" ditulis oleh Doug Le

See all articles