国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Was ist ein Buchhandel und warum sollte ich es verwenden?
Wie installiere ich Bookshelf.js?
Wie verbinde ich Bookshelf.js mit meiner Datenbank?
Wie definiert man ein Modell in Bookselelf.js?
Wie kann man Bookshelf.js verwenden, um Daten aus einer Datenbank zu extrahieren?
Wie speichern Sie Daten in einer Datenbank mit einem bookshelf.js?
Wie kann man Bookshelf.js verwenden, um Daten in einer Datenbank zu aktualisieren?
Wie kann man Bookshelf.js verwenden, um Daten aus einer Datenbank zu l?schen?
Wie kann ich mit Beziehungen in bookself.js umgehen?
Wie gehe ich mit Transaktionen in Bookself.js um?
Heim Web-Frontend js-Tutorial Erste Schritte mit Bookshelf.js

Erste Schritte mit Bookshelf.js

Feb 21, 2025 am 10:13 AM

Getting Started with Bookshelf.js

Kernpunkte

  • bookselelf.js ist eine Software für Objekt-Relations-Mapping (ORM) für JavaScript (insbesondere Node.js), die den Prozess der Kommunikation mit einer Datenbank vereinfacht, indem Entwickler Objekte in ihrer Programmiersprache der Wahl verwenden k?nnen, um mit dem zu interagieren, um mit dem zu interagieren Datenbank.
  • Die Bibliothek bietet eine einfache und intuitive M?glichkeit, CRUD-Operationen (Erstellen, Lesen, Aktualisieren, L?schen) durchzuführen und eine vielversprechende Schnittstelle zu unterstützen. Dies bedeutet, dass Funktionen nur dann aufgerufen werden, wenn die Abfrage erfolgreich ist.
  • Wie im Beispiel des Erstellens einer Blog -JSON -API im Artikel, k?nnen Bookselfelf.js in Verbindung mit Express.js verwendet werden, um eine API zu erstellen, und kann verwendet werden, um die zugrunde liegende Struktur der Datenbanktabelle zu verringern und regelm??ig JavaScript freizulegen. Objekte zum Abfragen.

In den letzten Jahren ist JavaScript immer beliebter. Im Laufe der Jahre haben die Leute versucht, diese beliebte Sprache viele Male auf die Serverseite anzuwenden. Einer der erfolgreichsten Versuche war Node.js, der der Community empfohlen wurde, um Serveranwendungen schnell zu schreiben. Das Verkaufsargument des Knotens ist sowohl hinsichtlich der Leistung als auch der Entwicklungszeit Geschwindigkeit. Mit dieser Popularit?t w?chst die Community weiter und das Projekt profitiert auch von mehr Mitwirkenden, was zu hochwertigen Modulen wie Express.js führt.

damit die Leute mit dem Knoten ein komplettes Backend aufbauen. Eines der wichtigsten Dinge, die ein Backend -System tun sollte, ist, effektiv mit der Datenbank zu kommunizieren. Hier kommt die ORM -Software (Object Relationship Mapping) ins Spiel. Oft müssen Entwickler in der Programmiersprache und der SQL, die sie verwenden, um mit Datenbanken zu kommunizieren. ORM vereinfacht den Entwicklungsprozess, indem es Entwicklern erm?glicht, mit den Objekten in ihrer Programmiersprache mit der Datenbank zu interagieren. In diesem Artikel wird Orm vorgestellt und dem Buchhandel besondere Aufmerksamkeit schenkt.js orm.

Was ist Orm?

Wikipedia definiert Objektbeziehungskartierung als:

Eine Programmierungstechnik zum Konvertieren von Daten zwischen nicht kompatiblen Typsystemen in objektorientierten Programmiersprachen. Dies erstellt tats?chlich eine "virtuelle Objektdatenbank", die intern in der Programmiersprache verwendet werden kann.

In unserem Beispiel ist die Programmiersprache JavaScript, und das inkompatible System ist ein relationales Datenbanksystem wie MySQL. Dies bedeutet, dass die ORM -Bibliothek es uns erm?glichen sollte, mit der Datenbank auf die gleiche Weise wie die Interaktion mit herk?mmlichen JavaScript -Objekten zu kommunizieren. Es gibt viele ORM -Bibliotheken in Node.js, und beliebte Bibliotheken umfassen Persistence.js, sequelize.js und bookself.js. In diesem Artikel wird ein Buchhandel vorgestellt.js.

bookself.js Beispiel

Datenbankinteraktionen drehen sich normalerweise um vier CRUD -Vorg?nge - sch?pfen, lesen, aktualisieren und l?schen. Bookshelf.js bietet eine intuitive M?glichkeit, diese Vorg?nge auszuführen. Erstellen Sie beispielsweise Operationen wie folgt:

new Post({name: 'New Article'}).save().then(function(model) {
  // ...
});

Angenommen, Post ist ein Modell mit der entsprechenden Datenbanktabelle, und der Name ist eine Eigenschaft, die einer Spalte in der Datenbanktabelle entspricht.

In ?hnlicher Weise lautet die Leseoperation wie folgt:

new Post({name: 'New Article'}).save().then(function(model) {
  // ...
});

Bitte beachten Sie den dann im Code aufgerufen. Bookshelf.js unterstützt eine vielversprechende Schnittstelle. In diesem Fall wird dies bedeutet, dass die anonyme Funktion dann nur dann aufgerufen wird, wenn die Abfrage erfolgreich ist. Ein Modell ist ein generiertes JavaScript -Objekt, mit dem Sie den Benutzer zugreifen k?nnen. In unserem Beispiel gibt Model.get ('Gender') das Geschlecht des Benutzers zurück.

API mit buchscheibener.js und express.js

erstellen

Für ein vollst?ndigeres Beispiel sind wir angenommen, wir sind delegiert, um einen Blog mit den folgenden Ressourcen zu erstellen. JSON API:

// select * from `user` where `email` = 'user@mail.com'
new User({email: 'user@mail.com'})
  .fetch()
  .then(function(model) {
    console.log(model.get('gender'));
  });

und der Client hat bereits die folgende Tabelle:

<code>GET  /api/article
GET  /api/article/:article_id
POST /api/article</code>

Zun?chst müssen wir Package.json verwenden, um die Express.js -Umgebung einzurichten:

create table article (
  id int not null primary key,
  title varchar(100) null,
  body text null,
  author varchar(100) null
);

Wir brauchen den Knex Query Builder, weil ein Bücherregal davon abh?ngt und wir Bluebird für das Versprechen ben?tigen. Unsere App.js -Struktur lautet wie folgt:

{
  "name": "article_api",
  "description": "expose articles via JSON",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "bluebird": "^2.1.3",
    "body-parser": "^1.3.1",
    "express": "4.4.3",
    "mysql": "*",
    "knex": "*",
    "bookshelf": "*"
  }
}

Unsere MySQL -Datenbank hei?t Blog. Wir müssen das Artikelmodell definieren und an die Artikeltabelle binden. Wir ersetzen // {unser Modelldefinitionscode hier}:

// 當(dāng)應(yīng)用程序啟動(dòng)時(shí)
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var Promise = require('bluebird');

var dbConfig = {
  client: 'mysql',
  connection: {
    host: 'localhost',
    user: 'root',
    password: 'your_password',
    database: 'blog',
    charset: 'utf8'
  }
};

var knex = require('knex')(dbConfig);
var bookshelf = require('bookshelf')(knex);

app.set('bookshelf', bookshelf);

var allowCrossDomain = function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  next();
};

app.use(allowCrossDomain);
// 解析 application/x-www-form-urlencoded
app.use(bodyParser.urlencoded());

// 解析 application/json
app.use(bodyParser.json());

// 解析 application/vnd.api+json 為 json
app.use(bodyParser.json({type: 'application/vnd.api+json'}));

// 在其他地方,使用 bookshelf 客戶(hù)端:
var bookshelf = app.get('bookshelf');

// {我們的模型定義代碼在這里}

app.listen(3000, function() {
  console.log('Express started at port 3000');
});

Zweifellos ist dies alles, was Sie brauchen, um ein Modell in Bookshelf.js zu definieren. Wir k?nnen dieses Modell jetzt verwenden, um die Datenbank in unserer API abzufragen. Erstens sollte die Methode GET /API /ARTIKEL alle Artikel in der Datenbank zurückgeben:

var Article = bookshelf.Model.extend({
  tableName: 'article'
});

fetchall in bookshelf.js erh?lt alle Eintr?ge in der Datenbanktabelle und Catch wird nur ausgeführt, wenn ein Fehler auftritt (es gibt mehr Modellmethoden im Dokument).

Schlussfolgerung

node.js wurde als Technologie entwickelt und kann verwendet werden, um Webanwendungen und APIs über Module wie Express.js zu erstellen. Bookshelf.js wird die Interaktion mit der relationalen Datenbank von node.js -Anwendungen erleichtert, indem die zugrunde liegende Struktur der Datenbanktabelle eingekapselt und regelm??ige JavaScript -Objekte für die Abfrage aufgedeckt werden. Dieser Artikel bietet eine hochrangige Einführung. Die vollst?ndige Implementierung des Demo -Projekts ist auf GitHub verfügbar. (GitHub -Link sollte hier hinzugefügt werden, wenn er existiert)

bookself.js Erste Schritte faq

Was ist ein Buchhandel und warum sollte ich es verwenden?

bookshelf.js ist eine JavaScript -Bibliothek, die eine einfache und elegante API zur Interaktion mit SQL -Datenbanken bietet. Es unterstützt Transaktionen, dringende/nacken dringende Beziehungsbelastung, polymorphe Assoziationen und mehr. Der Hauptvorteil der Verwendung von Bookshelf.js ist seine Einfachheit und Flexibilit?t. Sie k?nnen weniger Code schreiben, w?hrend Sie mehr Dinge tun, wodurch Ihr Entwicklungsprozess schneller und effizienter gestaltet wird.

Wie installiere ich Bookshelf.js?

So installieren Sie Bookshelf.js, Sie müssen Node.js und NPM in Ihrem System installieren. Nach Abschluss der Installation k?nnen Sie das Buchhandel installieren.js, indem Sie den Befehl npm install bookshelf knex sqlite3 --save im Terminal ausführen. Dadurch werden sowohl bookshelf.js als

Wie verbinde ich Bookshelf.js mit meiner Datenbank?

Um das Buchhandel zu verbinden. Js mit Ihrer Datenbank, müssen Sie zuerst Knex.js mit Ihrer Datenbankkonfiguration initialisieren. Anschlie?end übergeben Sie diese initialisierte Knex -Instanz an Bookshelf.js. Hier ist ein grundlegendes Beispiel:

new Post({name: 'New Article'}).save().then(function(model) {
  // ...
});

Wie definiert man ein Modell in Bookselelf.js?

In Bookshelf.js wird das Modell definiert, indem das von Bookselelf.js bereitgestellte Basisklassenmodell erweitert wird. Hier ist ein Beispiel, das das Benutzermodell definiert:

// select * from `user` where `email` = 'user@mail.com'
new User({email: 'user@mail.com'})
  .fetch()
  .then(function(model) {
    console.log(model.get('gender'));
  });

Wie kann man Bookshelf.js verwenden, um Daten aus einer Datenbank zu extrahieren?

Es ist sehr einfach, Daten aus einer Datenbank mit bookshelf.js zu extrahieren. Sie k?nnen die vom Modell bereitgestellte Fetch -Methode verwenden. Hier ist ein Beispiel:

<code>GET  /api/article
GET  /api/article/:article_id
POST /api/article</code>

Wie speichern Sie Daten in einer Datenbank mit einem bookshelf.js?

Es ist auch einfach, Daten mit bookshelf.js in der Datenbank zu speichern. Sie k?nnen die vom Modell bereitgestellte Speichermethode verwenden. Hier ist ein Beispiel:

create table article (
  id int not null primary key,
  title varchar(100) null,
  body text null,
  author varchar(100) null
);

Wie kann man Bookshelf.js verwenden, um Daten in einer Datenbank zu aktualisieren?

Die Daten in der Datenbank k?nnen mit der Speichernmethode aktualisiert werden. Sie müssen nur das Modell zuerst extrahieren und dann mit den neuen Daten Speichern aufrufen. Hier ist ein Beispiel:

{
  "name": "article_api",
  "description": "expose articles via JSON",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "bluebird": "^2.1.3",
    "body-parser": "^1.3.1",
    "express": "4.4.3",
    "mysql": "*",
    "knex": "*",
    "bookshelf": "*"
  }
}

Wie kann man Bookshelf.js verwenden, um Daten aus einer Datenbank zu l?schen?

Die Daten k?nnen mithilfe der vom Modell bereitgestellten Methode aus der Datenbank gel?scht werden. Hier ist ein Beispiel:

// 當(dāng)應(yīng)用程序啟動(dòng)時(shí)
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var Promise = require('bluebird');

var dbConfig = {
  client: 'mysql',
  connection: {
    host: 'localhost',
    user: 'root',
    password: 'your_password',
    database: 'blog',
    charset: 'utf8'
  }
};

var knex = require('knex')(dbConfig);
var bookshelf = require('bookshelf')(knex);

app.set('bookshelf', bookshelf);

var allowCrossDomain = function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  next();
};

app.use(allowCrossDomain);
// 解析 application/x-www-form-urlencoded
app.use(bodyParser.urlencoded());

// 解析 application/json
app.use(bodyParser.json());

// 解析 application/vnd.api+json 為 json
app.use(bodyParser.json({type: 'application/vnd.api+json'}));

// 在其他地方,使用 bookshelf 客戶(hù)端:
var bookshelf = app.get('bookshelf');

// {我們的模型定義代碼在這里}

app.listen(3000, function() {
  console.log('Express started at port 3000');
});

Wie kann ich mit Beziehungen in bookself.js umgehen?

bookselelf.js bietet verschiedene M?glichkeiten, mit Beziehungen zwischen Modellen wie Hasone, Hasmany, Adoca und H?rstoman umzugehen. Hier ist ein Beispiel für ein Benutzermodell mit mehreren Postmodellen:

var Article = bookshelf.Model.extend({
  tableName: 'article'
});

Wie gehe ich mit Transaktionen in Bookself.js um?

Transaktionen in Bookshelf.js k?nnen unter Verwendung der Transaktionsmethode von Knex.js. Hier ist ein Beispiel:

app.get('/api/article', function(req, res) {
  new Article().fetchAll()
    .then(function(articles) {
      res.send(articles.toJSON());
    }).catch(function(error) {
      console.log(error);
      res.send('An error occured');
    });
});

Bitte beachten Sie, dass einige der Details in den oben genannten Code -Beispielen m?glicherweise gem?? Ihrer spezifischen Datenbank und Umgebung angepasst werden müssen. Darüber hinaus wird empfohlen, sich auf die offizielle Dokumentation von Bookselelf.js zu beziehen, um die neuesten Informationen und detailliertere Anleitung zu erhalten.

Das obige ist der detaillierte Inhalt vonErste Schritte mit Bookshelf.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Java vs. JavaScript: Die Verwirrung beseitigen Java vs. JavaScript: Die Verwirrung beseitigen Jun 20, 2025 am 12:27 AM

Java und JavaScript sind unterschiedliche Programmiersprachen, die jeweils für verschiedene Anwendungsszenarien geeignet sind. Java wird für die Entwicklung gro?er Unternehmen und mobiler Anwendungen verwendet, w?hrend JavaScript haupts?chlich für die Entwicklung von Webseiten verwendet wird.

JavaScript -Kommentare: Kurzer Erl?uterung JavaScript -Kommentare: Kurzer Erl?uterung Jun 19, 2025 am 12:40 AM

JavaScriptComents AreseessentialFormaintaining, Lesen und GuidingCodeexexecution.1) einzelne Linecommments Arequickickexplanationen.2) Multi-LindexplainComproxlogicorProvedetailedDocumentation.3) InlinecommentsclarifyspecificPartsosensofCode.BestPracticic

Wie arbeite man mit Daten und Zeiten in JS? Wie arbeite man mit Daten und Zeiten in JS? Jul 01, 2025 am 01:27 AM

Die folgenden Punkte sollten bei der Verarbeitung von Daten und Zeiten in JavaScript festgestellt werden: 1. Es gibt viele M?glichkeiten, Datumsobjekte zu erstellen. Es wird empfohlen, ISO -Format -Zeichenfolgen zu verwenden, um die Kompatibilit?t sicherzustellen. 2. Die Zeitinformationen erhalten und festlegen k?nnen und setzen Sie Methoden fest, und beachten Sie, dass der Monat mit 0 beginnt. 3. Die manuell formatierende Daten sind Zeichenfolgen erforderlich, und auch Bibliotheken von Drittanbietern k?nnen verwendet werden. 4. Es wird empfohlen, Bibliotheken zu verwenden, die Zeitzonen wie Luxon unterstützen. Das Beherrschen dieser wichtigen Punkte kann h?ufige Fehler effektiv vermeiden.

Warum sollten Sie  Tags am Ende des  platzieren? Warum sollten Sie Tags am Ende des platzieren? Jul 02, 2025 am 01:22 AM

PlatztagsattheBottomofabogpostorwebpageServeSpracticalPurposesforseo, Usexperience und design.1ithelpswithseobyallowingEnginestoaccessKeyword-relevantTagswithoutClutteringHemainContent.2.

JavaScript vs. Java: Ein umfassender Vergleich für Entwickler JavaScript vs. Java: Ein umfassender Vergleich für Entwickler Jun 20, 2025 am 12:21 AM

JavaScriptispreferredforwebdevelopment,whileJavaisbetterforlarge-scalebackendsystemsandAndroidapps.1)JavaScriptexcelsincreatinginteractivewebexperienceswithitsdynamicnatureandDOMmanipulation.2)Javaoffersstrongtypingandobject-orientedfeatures,idealfor

Was sprudelt und f?ngt Ereignis im Dom? Was sprudelt und f?ngt Ereignis im Dom? Jul 02, 2025 am 01:19 AM

Ereigniserfassung und Blase sind zwei Phasen der Ereignisausbreitung in DOM. Die Erfassung erfolgt von der oberen Schicht bis zum Zielelement, und die Blase ist vom Zielelement bis zur oberen Schicht. 1. Die Ereigniserfassung wird implementiert, indem der UseCapture -Parameter von AddEventListener auf true festgelegt wird. 2. Ereignisblase ist das Standardverhalten, Uscapture ist auf false oder weggelassen. 3. Die Ereignisausbreitung kann verwendet werden, um die Ereignisausbreitung zu verhindern. 4. Event Bubbling unterstützt die Ereignisdelegation, um die Effizienz der dynamischen Inhaltsverarbeitung zu verbessern. 5. Capture kann verwendet werden, um Ereignisse im Voraus abzufangen, wie z. B. Protokollierung oder Fehlerverarbeitung. Das Verst?ndnis dieser beiden Phasen hilft dabei, das Timing und die Reaktion von JavaScript auf Benutzeroperationen genau zu steuern.

JavaScript: Datentypen zur effizienten Codierung untersuchen JavaScript: Datentypen zur effizienten Codierung untersuchen Jun 20, 2025 am 12:46 AM

JavaScripthassevenfundamentaldatatypes:number,string,boolean,undefined,null,object,andsymbol.1)Numbersuseadouble-precisionformat,usefulforwidevaluerangesbutbecautiouswithfloating-pointarithmetic.2)Stringsareimmutable,useefficientconcatenationmethodsf

Was ist der Unterschied zwischen Java und JavaScript? Was ist der Unterschied zwischen Java und JavaScript? Jun 17, 2025 am 09:17 AM

Java und JavaScript sind verschiedene Programmiersprachen. 1.Java ist eine statisch typisierte und kompilierte Sprache, die für Unternehmensanwendungen und gro?e Systeme geeignet ist. 2. JavaScript ist ein dynamischer Typ und eine interpretierte Sprache, die haupts?chlich für die Webinteraktion und die Front-End-Entwicklung verwendet wird.

See all articles