提交 a26daa80 编写于 作者: W wizardforcel

2020-06-22 10:50:29

上级 04274c48
...@@ -94,7 +94,7 @@ Bye ...@@ -94,7 +94,7 @@ Bye
`ADO.NET`是.NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。 `MySQL Connector/Net`是 MySQL 数据库的 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有.NET 语言。 `ADO.NET`是.NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。 `MySQL Connector/Net`是 MySQL 数据库的 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有.NET 语言。
`Connection``Command``DataReader``DataSet``DataProvider`是.NET 数据提供程序模型的核心元素。 `Connection`创建到特定数据源的连接。 `Command`对象针对数据源执行一条 SQL 语句。 `DataReader`从数据源读取数据流。 `DataSet`对象用于脱机处理大量数据。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `DataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`DataReader`是更好的选择。 如果需要更广泛的数据处理,或者要将`Winforms`控件绑定到数据库表,则首选`DataSet` `Connection``Command``DataReader``DataSet``DataProvider`是.NET 数据供应器模型的核心元素。 `Connection`创建到特定数据源的连接。 `Command`对象针对数据源执行一条 SQL 语句。 `DataReader`从数据源读取数据流。 `DataSet`对象用于脱机处理大量数据。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `DataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`DataReader`是更好的选择。 如果需要更广泛的数据处理,或者要将`Winforms`控件绑定到数据库表,则首选`DataSet`
## MySQL 版本 ## MySQL 版本
...@@ -137,7 +137,7 @@ Imports MySql.Data.MySqlClient ...@@ -137,7 +137,7 @@ Imports MySql.Data.MySqlClient
``` ```
我们导入 MySQL 数据提供程序的元素。 我们导入 MySQL 数据供应器的元素。
```vb ```vb
Dim cs As String = "Database=testdb;Data Source=localhost;" _ Dim cs As String = "Database=testdb;Data Source=localhost;" _
......
...@@ -103,7 +103,7 @@ Bye ...@@ -103,7 +103,7 @@ Bye
ADO.NET 是 .NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。MySQL Connector/Net 是 MySQL 数据库 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有.NET 语言。 ADO.NET 是 .NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。MySQL Connector/Net 是 MySQL 数据库 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有.NET 语言。
`Connection``Command``DataReader``DataSet``DataProvider`是 .NET 数据提供程序模型的核心元素。 `Connection`创建到特定数据源的连接。 `Command`对象针对数据源执行一条 SQL 语句。 `DataReader`从数据源读取数据流。 `DataSet`对象用于脱机处理大量数据。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `DataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`DataReader`是更好的选择。 如果需要更广泛的数据处理,或者要将 Winforms 控件绑定到数据库表,则首选`DataSet` `Connection``Command``DataReader``DataSet``DataProvider`是 .NET 数据供应器模型的核心元素。 `Connection`创建到特定数据源的连接。 `Command`对象针对数据源执行一条 SQL 语句。 `DataReader`从数据源读取数据流。 `DataSet`对象用于脱机处理大量数据。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `DataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`DataReader`是更好的选择。 如果需要更广泛的数据处理,或者要将 Winforms 控件绑定到数据库表,则首选`DataSet`
## MySQL 版本 ## MySQL 版本
...@@ -152,7 +152,7 @@ using MySql.Data.MySqlClient; ...@@ -152,7 +152,7 @@ using MySql.Data.MySqlClient;
``` ```
我们导入 MySQL 数据提供程序的元素。 我们导入 MySQL 数据供应器的元素。
```cs ```cs
string cs = @"server=localhost;userid=user12; string cs = @"server=localhost;userid=user12;
......
...@@ -77,7 +77,7 @@ $ ldconfig -p | grep libgdiplus ...@@ -77,7 +77,7 @@ $ ldconfig -p | grep libgdiplus
我们还运行`ldconfig`工具来更新动态库的数据库。 `ldconfig`扫描正在运行的系统,并设置用于加载共享库的符号链接。 我们还运行`ldconfig`工具来更新动态库的数据库。 `ldconfig`扫描正在运行的系统,并设置用于加载共享库的符号链接。
`Mono.Data.Sqlite`程序集包含 SQLite 数据库的 ADO.NET 数据提供程序。 它用 C# 编写,并且可用于所有 CLI 语言:C# ,Visual Basic,Boo 等。 `Mono.Data.Sqlite`程序集包含 SQLite 数据库的 ADO.NET 数据供应器。 它用 C# 编写,并且可用于所有 CLI 语言:C# ,Visual Basic,Boo 等。
```cs ```cs
$ ls /usr/local/lib/mono/4.0/Mono.Data.Sqlite.dll $ ls /usr/local/lib/mono/4.0/Mono.Data.Sqlite.dll
...@@ -91,7 +91,7 @@ $ ls /usr/local/lib/mono/4.0/Mono.Data.Sqlite.dll ...@@ -91,7 +91,7 @@ $ ls /usr/local/lib/mono/4.0/Mono.Data.Sqlite.dll
`ADO.NET`是 .NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。 从程序员的角度来看,它是一组与数据库和其他数据源一起使用的库和类。 `Mono.Data.SQLite`是 SQLite 数据库的 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有.NET 语言。 `ADO.NET`是 .NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。 从程序员的角度来看,它是一组与数据库和其他数据源一起使用的库和类。 `Mono.Data.SQLite`是 SQLite 数据库的 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有.NET 语言。
`SqliteConnection``SqliteCommand``SqliteDataReader``SqliteDataAdapter`是.NET 数据提供程序模型的核心元素。 `SqliteConnection`创建到特定数据源的连接。 `SqliteCommand`对象针对数据源执行一条 SQL 语句。 `SqliteDataReader`从数据源读取数据流。 `SqliteDataAdapter``DataSet`和数据源之间的中介。 它填充`DataSet`并解析数据源的更新。 `SqliteConnection``SqliteCommand``SqliteDataReader``SqliteDataAdapter`是.NET 数据供应器模型的核心元素。 `SqliteConnection`创建到特定数据源的连接。 `SqliteCommand`对象针对数据源执行一条 SQL 语句。 `SqliteDataReader`从数据源读取数据流。 `SqliteDataAdapter``DataSet`和数据源之间的中介。 它填充`DataSet`并解析数据源的更新。
`DataSet`对象用于大量数据的离线工作。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `SqliteDataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`SqliteDataReader`是更好的选择。 如果我们需要更广泛的数据处理,或者要将 Winforms 控件绑定到数据库表,则首选`DataSet` `DataSet`对象用于大量数据的离线工作。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `SqliteDataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`SqliteDataReader`是更好的选择。 如果我们需要更广泛的数据处理,或者要将 Winforms 控件绑定到数据库表,则首选`DataSet`
...@@ -165,7 +165,7 @@ using Mono.Data.Sqlite; ...@@ -165,7 +165,7 @@ using Mono.Data.Sqlite;
``` ```
`Mono.Data.SqliteClient`程序集包含 SQLite 数据库引擎的 ADO.NET 数据提供程序。 我们导入 SQLite 数据提供程序的元素。 `Mono.Data.SqliteClient`程序集包含 SQLite 数据库引擎的 ADO.NET 数据供应器。 我们导入 SQLite 数据供应器的元素。
```cs ```cs
string cs = "Data Source=:memory:"; string cs = "Data Source=:memory:";
...@@ -264,7 +264,7 @@ $ dmcs version.cs -r:Mono.Data.Sqlite.dll ...@@ -264,7 +264,7 @@ $ dmcs version.cs -r:Mono.Data.Sqlite.dll
``` ```
我们汇编示例。 提供了 SQLite 数据提供程序 DLL 的路径。 我们汇编示例。 提供了 SQLite 数据供应器 DLL 的路径。
```cs ```cs
$ mono ./version.exe $ mono ./version.exe
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/db/sqlitecsharp/dataset/](http://zetcode.com/db/sqlitecsharp/dataset/) > 原文: [http://zetcode.com/db/sqlitecsharp/dataset/](http://zetcode.com/db/sqlitecsharp/dataset/)
ADO.NET 体系结构由两个主要部分组成。 .NET 数据提供程序`DataSet`。 数据提供者是已明确设计用于数据处理和快速访问数据的组件。 创建`DataSet`的目的是为了独立于任何数据源进行数据访问。 它可以与多个不同的数据源,XML 数据一起使用,或者用于管理应用本地的数据。 ADO.NET 体系结构由两个主要部分组成。 .NET 数据供应器`DataSet`。 数据提供者是已明确设计用于数据处理和快速访问数据的组件。 创建`DataSet`的目的是为了独立于任何数据源进行数据访问。 它可以与多个不同的数据源,XML 数据一起使用,或者用于管理应用本地的数据。
`DataSet`是数据库表中数据的副本以及数据之间的关系。 它在内存中创建,并在需要对数据进行大量处理或将数据表绑定到 Winforms 控件时使用。 处理完成后,更改将被写入数据源。 `DataSet`是断开的关系结构。 这意味着在`DataSet`对象的整个生命周期中不必打开基础连接。 这使我们能够有效地使用可用的数据库连接。 `DataSet`是数据库表中数据的副本以及数据之间的关系。 它在内存中创建,并在需要对数据进行大量处理或将数据表绑定到 Winforms 控件时使用。 处理完成后,更改将被写入数据源。 `DataSet`是断开的关系结构。 这意味着在`DataSet`对象的整个生命周期中不必打开基础连接。 这使我们能够有效地使用可用的数据库连接。
...@@ -453,7 +453,7 @@ $ dmcs datagridview.cs -r:System.Data.dll -r:System.Drawing.dll ...@@ -453,7 +453,7 @@ $ dmcs datagridview.cs -r:System.Data.dll -r:System.Drawing.dll
``` ```
要编译该示例,我们必须包含其他 DLL。 用于 SQLite 数据提供程序,Winforms,工程图和数据的 DLL。 要编译该示例,我们必须包含其他 DLL。 用于 SQLite 数据供应器,Winforms,工程图和数据的 DLL。
![DataGridView](img/7f8cb15b7e635b83fc1c6158b71e7769.jpg) ![DataGridView](img/7f8cb15b7e635b83fc1c6158b71e7769.jpg)
......
...@@ -77,7 +77,7 @@ $ ldconfig -p | grep libgdiplus ...@@ -77,7 +77,7 @@ $ ldconfig -p | grep libgdiplus
我们还运行`ldconfig`工具来更新动态库的数据库。 `ldconfig`扫描正在运行的系统,并设置用于加载共享库的符号链接。 我们还运行`ldconfig`工具来更新动态库的数据库。 `ldconfig`扫描正在运行的系统,并设置用于加载共享库的符号链接。
`Mono.Data.Sqlite`程序集包含 SQLite 数据库的 ADO.NET 数据提供程序。 它用 C# 编写,并且可用于所有 CLI 语言,包括 C# ,Visual Basic 和 Boo。 `Mono.Data.Sqlite`程序集包含 SQLite 数据库的 ADO.NET 数据供应器。 它用 C# 编写,并且可用于所有 CLI 语言,包括 C# ,Visual Basic 和 Boo。
```vb ```vb
$ ls /usr/local/lib/mono/4.0/Mono.Data.Sqlite.dll $ ls /usr/local/lib/mono/4.0/Mono.Data.Sqlite.dll
...@@ -121,7 +121,7 @@ $ ls /usr/local/bin/vbnc* ...@@ -121,7 +121,7 @@ $ ls /usr/local/bin/vbnc*
`ADO.NET`是.NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。 从程序员的角度来看,它是一组与数据库和其他数据源一起使用的库和类。 `Mono.Data.SQLite`是 SQLite 数据库的 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有 .NET 语言。 `ADO.NET`是.NET 框架的重要组成部分。 该规范统一了对关系数据库,XML 文件和其他应用数据的访问。 从程序员的角度来看,它是一组与数据库和其他数据源一起使用的库和类。 `Mono.Data.SQLite`是 SQLite 数据库的 ADO.NET 规范的实现。 它是用 C# 语言编写的驱动程序,可用于所有 .NET 语言。
`SqliteConnection``SqliteCommand``SqliteDataReader``SqliteDataAdapter`是.NET 数据提供程序模型的核心元素。 `SqliteConnection`创建到特定数据源的连接。 `SqliteCommand`对象针对数据源执行一条 SQL 语句。 `SqliteDataReader`从数据源读取数据流。 `SqliteDataAdapter``DataSet`和数据源之间的中介。 它填充`DataSet`并解析数据源的更新。 `SqliteConnection``SqliteCommand``SqliteDataReader``SqliteDataAdapter`是.NET 数据供应器模型的核心元素。 `SqliteConnection`创建到特定数据源的连接。 `SqliteCommand`对象针对数据源执行一条 SQL 语句。 `SqliteDataReader`从数据源读取数据流。 `SqliteDataAdapter``DataSet`和数据源之间的中介。 它填充`DataSet`并解析数据源的更新。
`DataSet`对象用于大量数据的离线工作。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `SqliteDataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`SqliteDataReader`是更好的选择。 如果我们需要更广泛的数据处理,或者要将 Winforms 控件绑定到数据库表,则首选`DataSet` `DataSet`对象用于大量数据的离线工作。 它是一种断开连接的数据表示形式,可以保存来自各种不同来源的数据。 `SqliteDataReader``DataSet`都用于处理数据。 它们在不同的情况下使用。 如果只需要读取查询结果,则`SqliteDataReader`是更好的选择。 如果我们需要更广泛的数据处理,或者要将 Winforms 控件绑定到数据库表,则首选`DataSet`
...@@ -192,7 +192,7 @@ Imports Mono.Data.Sqlite ...@@ -192,7 +192,7 @@ Imports Mono.Data.Sqlite
``` ```
`Mono.Data.SqliteClient`程序集包含 SQLite 数据库引擎的 ADO.NET 数据提供程序。 我们导入 SQLite 数据提供程序的元素。 `Mono.Data.SqliteClient`程序集包含 SQLite 数据库引擎的 ADO.NET 数据供应器。 我们导入 SQLite 数据供应器的元素。
```vb ```vb
Dim con As SqliteConnection Dim con As SqliteConnection
...@@ -295,7 +295,7 @@ $ vbnc version.vb -r:Mono.Data.Sqlite.dll ...@@ -295,7 +295,7 @@ $ vbnc version.vb -r:Mono.Data.Sqlite.dll
``` ```
我们汇编示例。 提供了 SQLite 数据提供程序 DLL 的路径。 我们汇编示例。 提供了 SQLite 数据供应器 DLL 的路径。
```vb ```vb
$ mono version.exe $ mono version.exe
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/db/sqlitevb/dataset/](http://zetcode.com/db/sqlitevb/dataset/) > 原文: [http://zetcode.com/db/sqlitevb/dataset/](http://zetcode.com/db/sqlitevb/dataset/)
ADO.NET 体系结构由两个主要部分组成。 .NET 数据提供程序`DataSet`。 数据提供者是已明确设计用于数据处理和快速访问数据的组件。 创建`DataSet`的目的是为了独立于任何数据源进行数据访问。 它可以与多个不同的数据源,XML 数据一起使用,或者用于管理应用本地的数据。 ADO.NET 体系结构由两个主要部分组成。 .NET 数据供应器`DataSet`。 数据提供者是已明确设计用于数据处理和快速访问数据的组件。 创建`DataSet`的目的是为了独立于任何数据源进行数据访问。 它可以与多个不同的数据源,XML 数据一起使用,或者用于管理应用本地的数据。
`DataSet`是数据库表中数据的副本以及数据之间的关系。 它在内存中创建,并在需要对数据进行大量处理或将数据表绑定到 Winforms 控件时使用。 处理完成后,更改将被写入数据源。 `DataSet`是断开的关系结构。 这意味着在`DataSet`对象的整个生命周期中不必打开基础连接。 这使我们能够有效地使用可用的数据库连接。 `DataSet`是数据库表中数据的副本以及数据之间的关系。 它在内存中创建,并在需要对数据进行大量处理或将数据表绑定到 Winforms 控件时使用。 处理完成后,更改将被写入数据源。 `DataSet`是断开的关系结构。 这意味着在`DataSet`对象的整个生命周期中不必打开基础连接。 这使我们能够有效地使用可用的数据库连接。
......
...@@ -133,7 +133,7 @@ derby.authentication.provider=BUILTIN ...@@ -133,7 +133,7 @@ derby.authentication.provider=BUILTIN
``` ```
在 Derby 系统目录中,我们修改`derby.properties`文件。 如果文件不存在,我们将创建它。 在属性文件中,我们启用身份​​验证并使用密码创建用户。 我们还将认证提供程序设置为 Derby `BUILTIN` 在 Derby 系统目录中,我们修改`derby.properties`文件。 如果文件不存在,我们将创建它。 在属性文件中,我们启用身份​​验证并使用密码创建用户。 我们还将认证供应器设置为 Derby `BUILTIN`
```java ```java
$ startNetworkServer & $ startNetworkServer &
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/pyqt4/customwidgets/](http://zetcode.com/gui/pyqt4/customwidgets/) > 原文: [http://zetcode.com/gui/pyqt4/customwidgets/](http://zetcode.com/gui/pyqt4/customwidgets/)
PyQt4 具有丰富的小部件集。 但是,没有工具包可以提供程序员在其应用中可能需要的所有小部件。 工具箱通常仅提供最常见的窗口小部件,例如按钮,文本窗口小部件或滑块。 如果需要更专业的小部件,我们必须自己创建它。 PyQt4 具有丰富的小部件集。 但是,没有工具包可以供应器员在其应用中可能需要的所有小部件。 工具箱通常仅提供最常见的窗口小部件,例如按钮,文本窗口小部件或滑块。 如果需要更专业的小部件,我们必须自己创建它。
使用工具箱提供的绘图工具创建自定义窗口小部件。 有两种基本的可能性:程序员可以修改或增强现有的小部件,或者可以从头开始创建自定义小部件。 使用工具箱提供的绘图工具创建自定义窗口小部件。 有两种基本的可能性:程序员可以修改或增强现有的小部件,或者可以从头开始创建自定义小部件。
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/pysidetutorial/customwidgets/](http://zetcode.com/gui/pysidetutorial/customwidgets/) > 原文: [http://zetcode.com/gui/pysidetutorial/customwidgets/](http://zetcode.com/gui/pysidetutorial/customwidgets/)
PySide 在各种小部件上都很丰富。 没有工具包可以提供程序员在其应用中可能需要的所有小部件。 工具箱通常仅提供最常见的窗口小部件,例如按钮,文本窗口小部件,滑块等。如果需要更专业的窗口小部件,则必须自己创建。 PySide 在各种小部件上都很丰富。 没有工具包可以供应器员在其应用中可能需要的所有小部件。 工具箱通常仅提供最常见的窗口小部件,例如按钮,文本窗口小部件,滑块等。如果需要更专业的窗口小部件,则必须自己创建。
使用工具箱提供的绘图工具创建自定义窗口小部件。 有两种可能性。 程序员可以修改或增强现有的小部件。 或者,他可以从头开始创建自定义窗口小部件。 使用工具箱提供的绘图工具创建自定义窗口小部件。 有两种可能性。 程序员可以修改或增强现有的小部件。 或者,他可以从头开始创建自定义窗口小部件。
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
> 原文: [http://zetcode.com/gui/pyqt5/customwidgets/](http://zetcode.com/gui/pyqt5/customwidgets/) > 原文: [http://zetcode.com/gui/pyqt5/customwidgets/](http://zetcode.com/gui/pyqt5/customwidgets/)
PyQt5 具有丰富的小部件集。 但是,没有工具包可以提供程序员在其应用中可能需要的所有小部件。 工具箱通常仅提供最常见的窗口小部件,例如按钮,文本窗口小部件或滑块。 如果需要更专业的小部件,我们必须自己创建它。 PyQt5 具有丰富的小部件集。 但是,没有工具包可以供应器员在其应用中可能需要的所有小部件。 工具箱通常仅提供最常见的窗口小部件,例如按钮,文本窗口小部件或滑块。 如果需要更专业的小部件,我们必须自己创建它。
使用工具箱提供的绘图工具创建自定义窗口小部件。 有两种基本的可能性:程序员可以修改或增强现有的小部件,或者可以从头开始创建自定义小部件。 使用工具箱提供的绘图工具创建自定义窗口小部件。 有两种基本的可能性:程序员可以修改或增强现有的小部件,或者可以从头开始创建自定义小部件。
......
...@@ -231,7 +231,7 @@ public class ApplicationConfig extends Application { ...@@ -231,7 +231,7 @@ public class ApplicationConfig extends Application {
``` ```
`ApplicationConfig`是应用配置类。 从 Servlet 3.0 开始,可以省略`web.xml`文件。 在 Jersey 中,我们创建一个配置类来扩展抽象`Application`并使用`@ApplicationPath`注解。 `Application`定义 JAX-RS 应用的组件并提供其他元数据。 在这里,我们注册应用所需的资源类,提供程序或属性。 `ApplicationConfig`是应用配置类。 从 Servlet 3.0 开始,可以省略`web.xml`文件。 在 Jersey 中,我们创建一个配置类来扩展抽象`Application`并使用`@ApplicationPath`注解。 `Application`定义 JAX-RS 应用的组件并提供其他元数据。 在这里,我们注册应用所需的资源类,供应器或属性。
```java ```java
set.add(HelloController.class); set.add(HelloController.class);
......
...@@ -14,7 +14,7 @@ GlassFish 是 Java EE 的参考实现,它包括 Enterprise JavaBeans 容器。 ...@@ -14,7 +14,7 @@ GlassFish 是 Java EE 的参考实现,它包括 Enterprise JavaBeans 容器。
![Server and Settings](img/9e3fd63d24e08d352f163a16ee50a6f7.jpg) ![Server and Settings](img/9e3fd63d24e08d352f163a16ee50a6f7.jpg)
Figure: Server and Settings 图:服务器和设置
...@@ -43,7 +43,7 @@ Figure: Server and Settings ...@@ -43,7 +43,7 @@ Figure: Server and Settings
![Creating a new session bean in NetBeans](img/796134f0736a3fda2182cfb74bef9fba.jpg) ![Creating a new session bean in NetBeans](img/796134f0736a3fda2182cfb74bef9fba.jpg)
Figure: Creating a new session bean in NetBeans 图:在 NetBeans 中创建一个新的会话 Bean
...@@ -97,7 +97,7 @@ public String sayHello() { ...@@ -97,7 +97,7 @@ public String sayHello() {
![New servlet](img/19db17e82ce7b5bcf3426f53a74d998d.jpg) ![New servlet](img/19db17e82ce7b5bcf3426f53a74d998d.jpg)
Figure: New servlet creation 图:创建新的 servlet
...@@ -176,7 +176,7 @@ String msg = firstBean.createMessage(); ...@@ -176,7 +176,7 @@ String msg = firstBean.createMessage();
![MyFirstEJB project structure](img/ac0bbe5c4a0bbce3d4fd85b7cb344746.jpg) ![MyFirstEJB project structure](img/ac0bbe5c4a0bbce3d4fd85b7cb344746.jpg)
Figure: MyFirstEJB project structure 图:MyFirstEJB 项目结构
...@@ -214,15 +214,15 @@ $ curl localhost:8080/myfirstejb/ ...@@ -214,15 +214,15 @@ $ curl localhost:8080/myfirstejb/
我们使用`car-app`名称创建一个新的 Java Web 应用。 然后,我们创建一个新的`Car`实体。 实体类文件类型位于持久性类别中。 软件包将为`com.zetcode.persistence`。 主键类型为`Long`,并选中了创建持久性单元选项。 我们使用`car-app`名称创建一个新的 Java Web 应用。 然后,我们创建一个新的`Car`实体。 实体类文件类型位于持久性类别中。 软件包将为`com.zetcode.persistence`。 主键类型为`Long`,并选中了创建持久性单元选项。
在下一页中,我们将持久性单元名称更改为`carpu`,然后选择默认的`EclipseLink`持久性提供程序。 我们选择`jdbc/sample`数据源,并选择了`Create`表生成策略。 `jdbc/sample`数据源是指默认情况下位于用户主目录的`.netbeans-derby`子目录中的`sample`数据库。 在下一页中,我们将持久性单元名称更改为`carpu`,然后选择默认的`EclipseLink`持久性供应器。 我们选择`jdbc/sample`数据源,并选择了`Create`表生成策略。 `jdbc/sample`数据源是指默认情况下位于用户主目录的`.netbeans-derby`子目录中的`sample`数据库。
![Persistence provider](img/765579fc12e1f045b195f1d303e60e23.jpg) ![Persistence provider](img/765579fc12e1f045b195f1d303e60e23.jpg)
Figure: Persistence provider 图:持久性供应器
在此视图中,我们提供了持久性单元名称,持久性提供程序,数据源和表生成策略。 在此视图中,我们提供了持久性单元名称,持久性供应器,数据源和表生成策略。
### 实体 Bean ### 实体 Bean
...@@ -463,7 +463,7 @@ public Car getCar(Long id) { ...@@ -463,7 +463,7 @@ public Car getCar(Long id) {
![NetBeans Derby tool](img/d0c532354f5a0e4d847c4915fdb72bc1.jpg) ![NetBeans Derby tool](img/d0c532354f5a0e4d847c4915fdb72bc1.jpg)
Figure: NetBeans Derby tool 图:NetBeans Derby 工具
...@@ -475,7 +475,7 @@ Figure: NetBeans Derby tool ...@@ -475,7 +475,7 @@ Figure: NetBeans Derby tool
![Apache Common Lang JARs](img/1c43118c3aff336f4ba6740eb07f49f5.jpg) ![Apache Common Lang JARs](img/1c43118c3aff336f4ba6740eb07f49f5.jpg)
Figure: Apache Common Lang JARs 图:Apache Common Lang JAR
...@@ -784,7 +784,7 @@ GlassFish 启动时,NetBeans 会自动启动 Derby 服务器。 可以在 Glas ...@@ -784,7 +784,7 @@ GlassFish 启动时,NetBeans 会自动启动 Derby 服务器。 可以在 Glas
![GlassFish server properties](img/7ffd32d22b24228122913724f8bb7f8d.jpg) ![GlassFish server properties](img/7ffd32d22b24228122913724f8bb7f8d.jpg)
Figure: GlassFish server properties 图:GlassFish 服务器属性
...@@ -961,7 +961,7 @@ $ tree ...@@ -961,7 +961,7 @@ $ tree
``` ```
`pom.xml`是一个文件,其中包含有关项目的信息以及 Maven 用于构建项目的配置详细信息。 我们提供了 Eclipse 链接持久性提供程序,Apache Commons lang 库和 Java EE Web API 的依赖项。 我们指示 Maven 使用 Java8。最终的构建文件称为`car-app.war`,位于`target`子目录中。 `pom.xml`是一个文件,其中包含有关项目的信息以及 Maven 用于构建项目的配置详细信息。 我们提供了 Eclipse 链接持久性供应器,Apache Commons lang 库和 Java EE Web API 的依赖项。 我们指示 Maven 使用 Java8。最终的构建文件称为`car-app.war`,位于`target`子目录中。
```java ```java
$ mvn package $ mvn package
......
...@@ -141,7 +141,7 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd"> ...@@ -141,7 +141,7 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd">
![Database creation](img/091d381e457594db59380864948604b9.jpg) ![Database creation](img/091d381e457594db59380864948604b9.jpg)
Figure: Database creation 图:数据库创建
...@@ -168,7 +168,7 @@ INSERT INTO CARS(Name, Price) VALUES('Volkswagen', 21600); ...@@ -168,7 +168,7 @@ INSERT INTO CARS(Name, Price) VALUES('Volkswagen', 21600);
![Connection wizard](img/0e998fe692fb1e4ccc398ea64b3c63fc.jpg) ![Connection wizard](img/0e998fe692fb1e4ccc398ea64b3c63fc.jpg)
Figure: Connection wizard 图:连接向导
...@@ -176,7 +176,7 @@ Figure: Connection wizard ...@@ -176,7 +176,7 @@ Figure: Connection wizard
![Connections](img/cd37238fc42b9e4f6d1f8cebf9682220.jpg) ![Connections](img/cd37238fc42b9e4f6d1f8cebf9682220.jpg)
Figure: Connections 图:连接
...@@ -184,7 +184,7 @@ Figure: Connections ...@@ -184,7 +184,7 @@ Figure: Connections
![NetBeans Derby tool](img/6ffab3b17aaf61765205fa1b41374f14.jpg) ![NetBeans Derby tool](img/6ffab3b17aaf61765205fa1b41374f14.jpg)
Figure: NetBeans Derby tool 图:NetBeans Derby 工具
...@@ -1272,7 +1272,7 @@ response.sendRedirect(page); ...@@ -1272,7 +1272,7 @@ response.sendRedirect(page);
![Displaying all cars](img/ef808a5b68aa503656112127ee182acb.jpg) ![Displaying all cars](img/ef808a5b68aa503656112127ee182acb.jpg)
Figure: Displaying all cars 图:显示所有汽车
......
...@@ -18,7 +18,7 @@ Stripes 的`ActionBean`是一个对象,用于接收在请求中提交的数据 ...@@ -18,7 +18,7 @@ Stripes 的`ActionBean`是一个对象,用于接收在请求中提交的数据
![The project files](img/d8c58ad8f8d2b1581d6d816c0f4249b3.jpg) ![The project files](img/d8c58ad8f8d2b1581d6d816c0f4249b3.jpg)
Figure: The project files 图:项目文件
...@@ -26,7 +26,7 @@ Figure: The project files ...@@ -26,7 +26,7 @@ Figure: The project files
![The project libraries](img/097522900b06a6aeefb2df9c79fe0a8b.jpg) ![The project libraries](img/097522900b06a6aeefb2df9c79fe0a8b.jpg)
Figure: The project libraries 图:项目库
...@@ -282,7 +282,7 @@ $ curl localhost:8084/SimpleStripes/ ...@@ -282,7 +282,7 @@ $ curl localhost:8084/SimpleStripes/
![StripesResources.properties](img/0ccffe00cf20c0fdf40b4cd705577e57.jpg) ![StripesResources.properties](img/0ccffe00cf20c0fdf40b4cd705577e57.jpg)
Figure: StripesResources.properties 图:`StripesResources.properties`
...@@ -360,8 +360,7 @@ private String userName; ...@@ -360,8 +360,7 @@ private String userName;
![Validation error message](img/1cf288248acf4b19eec2ee353d47047c.jpg) ![Validation error message](img/1cf288248acf4b19eec2ee353d47047c.jpg)
Figure: Validation error message 图:验证错误消息
我们应用中的第二个视图是`greet.jsp` 我们应用中的第二个视图是`greet.jsp`
...@@ -389,7 +388,7 @@ Figure: Validation error message ...@@ -389,7 +388,7 @@ Figure: Validation error message
![Greeting](img/2cf0aac86c9331e3d7049047615f7847.jpg) ![Greeting](img/2cf0aac86c9331e3d7049047615f7847.jpg)
Figure: Greeting 图:问候语
......
...@@ -97,7 +97,7 @@ INSERT INTO Books(Author, Title, Published, Remark) VALUES ('Debu Panda', 'EJB3 ...@@ -97,7 +97,7 @@ INSERT INTO Books(Author, Title, Published, Remark) VALUES ('Debu Panda', 'EJB3
![Resources](img/42392f24718252f2ccf412742246fca6.jpg) ![Resources](img/42392f24718252f2ccf412742246fca6.jpg)
Figure: Resources 图:资源
...@@ -404,7 +404,7 @@ Stripes 的`ActionBean`是一个对象,该对象接收在请求中提交的数 ...@@ -404,7 +404,7 @@ Stripes 的`ActionBean`是一个对象,该对象接收在请求中提交的数
![Action beans](img/f005b433ca2a19bfca594565d1220b4a.jpg) ![Action beans](img/f005b433ca2a19bfca594565d1220b4a.jpg)
Figure: Action beans 图:动作 Bean
...@@ -521,7 +521,7 @@ private String title; ...@@ -521,7 +521,7 @@ private String title;
![Validation](img/ffe55d055472c7a799e67085236d4086.jpg) ![Validation](img/ffe55d055472c7a799e67085236d4086.jpg)
Figure: Validation 图:验证
...@@ -1004,7 +1004,7 @@ public class ServiceLocator { ...@@ -1004,7 +1004,7 @@ public class ServiceLocator {
![Displaying all books](img/1426fcf0df388d6316b41d21c21a04ad.jpg) ![Displaying all books](img/1426fcf0df388d6316b41d21c21a04ad.jpg)
Figure: Displaying all books 图:显示所有书籍
......
...@@ -61,7 +61,7 @@ Java 持久性 API (JPA) 是 Java 应用编程接口规范,它描述了使 ...@@ -61,7 +61,7 @@ Java 持久性 API (JPA) 是 Java 应用编程接口规范,它描述了使
![Creating persistence.xml file](img/c52403bc5385c54a5e74aecdcceb601c.jpg) ![Creating persistence.xml file](img/c52403bc5385c54a5e74aecdcceb601c.jpg)
Figure: Creating persistence.xml file 图:创建`persistence.xml`文件
...@@ -95,7 +95,7 @@ Figure: Creating persistence.xml file ...@@ -95,7 +95,7 @@ Figure: Creating persistence.xml file
``` ```
`persistence.xml`文件中,我们定义了一个名为`cars-pu`的持久性单元。 我们定义一个持久性提供程序,它是一个 Derby 数据库。 `persistence.xml`文件中,我们定义了一个名为`cars-pu`的持久性单元。 我们定义一个持久性供应器,它是一个 Derby 数据库。
```java ```java
<property name="javax.persistence.schema-generation.database.action" <property name="javax.persistence.schema-generation.database.action"
...@@ -114,7 +114,7 @@ Figure: Creating persistence.xml file ...@@ -114,7 +114,7 @@ Figure: Creating persistence.xml file
![The persistence.xml file](img/040e560ea5e4f088fce733624854152e.jpg) ![The persistence.xml file](img/040e560ea5e4f088fce733624854152e.jpg)
Figure: The persistence.xml file 图:`persistence.xml`文件
...@@ -242,7 +242,7 @@ EntityManagerFactory emf = Persistence.createEntityManagerFactory("cars-pu"); ...@@ -242,7 +242,7 @@ EntityManagerFactory emf = Persistence.createEntityManagerFactory("cars-pu");
``` ```
在 JEE 容器之外使用 EclipseLink 之类的 JPA 提供程序时,我们必须通过`EntityManagerFactory`创建一个实体管理器。 使用持久性单元名称作为参数,通过`Persistence.createEntityManagerFactory()`方法创建工厂。 在 JEE 容器之外使用 EclipseLink 之类的 JPA 供应器时,我们必须通过`EntityManagerFactory`创建一个实体管理器。 使用持久性单元名称作为参数,通过`Persistence.createEntityManagerFactory()`方法创建工厂。
```java ```java
EntityManager eman = emf.createEntityManager(); EntityManager eman = emf.createEntityManager();
...@@ -378,7 +378,7 @@ eman.getTransaction().commit(); ...@@ -378,7 +378,7 @@ eman.getTransaction().commit();
![Spring Boot project](img/22e7a85727bd1bc90151d83a394f074d.jpg) ![Spring Boot project](img/22e7a85727bd1bc90151d83a394f074d.jpg)
Figure: Spring Boot project 图:Spring Boot 项目
...@@ -828,4 +828,4 @@ public class SpringDBCLIApp { ...@@ -828,4 +828,4 @@ public class SpringDBCLIApp {
`SpringDBCLIApp`设置 Spring Boot CLI 应用。 `SpringDBCLIApp`设置 Spring Boot CLI 应用。
在本教程中,我们介绍了 EclipseLink JPA 提供程序。 ZetCode 具有以下相关教程: [Spring `JdbcTemplate`教程](/db/jdbctemplate/)[Hibernate Derby 教程](/db/hibernatederby/)[Java 教程](/lang/java/)[EJB 简介](/java/ejb/) 在本教程中,我们介绍了 EclipseLink JPA 供应器。 ZetCode 具有以下相关教程: [Spring `JdbcTemplate`教程](/db/jdbctemplate/)[Hibernate Derby 教程](/db/hibernatederby/)[Java 教程](/lang/java/)[EJB 简介](/java/ejb/)
\ No newline at end of file \ No newline at end of file
...@@ -309,7 +309,7 @@ $ cp target/SqlQueryTag.war $TOMCAT_HOME/webapps ...@@ -309,7 +309,7 @@ $ cp target/SqlQueryTag.war $TOMCAT_HOME/webapps
![Displaying cars](img/99169df61e09e3535a9eb4c6a25fbf71.jpg) ![Displaying cars](img/99169df61e09e3535a9eb4c6a25fbf71.jpg)
Figure: Displaying cars 图:展示汽车
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
![Displaying image in Java](img/95d468245c96cac27ebb0448c753e58a.jpg) ![Displaying image in Java](img/95d468245c96cac27ebb0448c753e58a.jpg)
Figure: Displaying image in Java 图:用 Java 显示图像
...@@ -274,7 +274,7 @@ $ java -cp build/classes/ com.zetcode.DisplayImage ...@@ -274,7 +274,7 @@ $ java -cp build/classes/ com.zetcode.DisplayImage
![Creating a folder in NetBeans](img/6f6f8c457cb3cdb65733f76e686fb4c9.jpg) ![Creating a folder in NetBeans](img/6f6f8c457cb3cdb65733f76e686fb4c9.jpg)
Figure: Creating a folder in NetBeans 图:在 NetBeans 中创建一个文件夹
......
...@@ -108,7 +108,7 @@ $ activator run ...@@ -108,7 +108,7 @@ $ activator run
![First Play application](img/185fa8b5a6d47aa3ede32c6e57e5c591.jpg) ![First Play application](img/185fa8b5a6d47aa3ede32c6e57e5c591.jpg)
Figure: First Play application 图:第一个 Play 应用程序
...@@ -196,7 +196,7 @@ public class HomeController extends Controller { ...@@ -196,7 +196,7 @@ public class HomeController extends Controller {
![First Play application 2](img/133e957806a9a1429cfbca3e5f6eca0b.jpg) ![First Play application 2](img/133e957806a9a1429cfbca3e5f6eca0b.jpg)
Figure: First Play application 2 图:第一个 Play 应用程序 2
......
...@@ -199,7 +199,7 @@ Hello Peter ...@@ -199,7 +199,7 @@ Hello Peter
![NetBeans project structure](img/f5753cdee23248faf845bd2d506bfc5e.jpg) ![NetBeans project structure](img/f5753cdee23248faf845bd2d506bfc5e.jpg)
Figure: NetBeans project structure 图:NetBeans 项目结构
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
![NetBeans project structure](img/ce81a5dda708f100778eee37fd73fc85.jpg) ![NetBeans project structure](img/ce81a5dda708f100778eee37fd73fc85.jpg)
Figure: NetBeans project structure 图:NetBeans 项目结构
...@@ -167,7 +167,7 @@ Locale: en, Value: ocean ...@@ -167,7 +167,7 @@ Locale: en, Value: ocean
![NetBeans project structure II](img/4ab7477130ffa1ae8c0187a78d34faf2.jpg) ![NetBeans project structure II](img/4ab7477130ffa1ae8c0187a78d34faf2.jpg)
Figure: NetBeans project structure II 图:NetBeans 项目结构 II
...@@ -521,7 +521,7 @@ skMenuItem.addActionListener((ActionEvent e) -> { ...@@ -521,7 +521,7 @@ skMenuItem.addActionListener((ActionEvent e) -> {
![Swing application](img/db83de7ce81fe1344d1c1ff00b504a7a.jpg) ![Swing application](img/db83de7ce81fe1344d1c1ff00b504a7a.jpg)
Figure: Swing application 图:Swing 应用程序
...@@ -531,7 +531,7 @@ Figure: Swing application ...@@ -531,7 +531,7 @@ Figure: Swing application
![NetBeans project structure of a Spring Boot application](img/24597596257f4e82c0ff23b83e6aef2e.jpg) ![NetBeans project structure of a Spring Boot application](img/24597596257f4e82c0ff23b83e6aef2e.jpg)
Figure: NetBeans project structure of a Spring Boot application 图:Spring Boot 应用程序的 NetBeans 项目结构
......
...@@ -54,7 +54,7 @@ Jtwig 不限于 HTML 页面的模板; 它也可以用于纯文本。 ...@@ -54,7 +54,7 @@ Jtwig 不限于 HTML 页面的模板; 它也可以用于纯文本。
![Java console project structure in NetBeans](img/f8c70008e6fde2b0e3a9e712b00214a4.jpg) ![Java console project structure in NetBeans](img/f8c70008e6fde2b0e3a9e712b00214a4.jpg)
Figure: Java console project structure in NetBeans 图:NetBeans 中的 Java 控制台项目结构
...@@ -279,7 +279,7 @@ JtwigModel model = JtwigModel.newModel().with("names", names); ...@@ -279,7 +279,7 @@ JtwigModel model = JtwigModel.newModel().with("names", names);
![Java console project structure in NetBeans 2](img/adc8d8718185a41b0c93dcd678870654.jpg) ![Java console project structure in NetBeans 2](img/adc8d8718185a41b0c93dcd678870654.jpg)
Figure: Java console project structure in NetBeans 2 图:NetBeans 中的 Java 控制台项目结构 2
...@@ -359,7 +359,7 @@ This is the output of the example. ...@@ -359,7 +359,7 @@ This is the output of the example.
![Jtwig servlet project structure in NetBeans](img/67763bc28098863e4b80de638f046024.jpg) ![Jtwig servlet project structure in NetBeans](img/67763bc28098863e4b80de638f046024.jpg)
Figure: Jtwig servlet project structure in NetBeans 图:NetBeans 中的 Jtwig servlet 项目结构
...@@ -488,9 +488,7 @@ public class JtwigServlet extends HttpServlet { ...@@ -488,9 +488,7 @@ public class JtwigServlet extends HttpServlet {
![Jtwig servlet example](img/6bb9a392d367ed59f48b503343a24b58.jpg) ![Jtwig servlet example](img/6bb9a392d367ed59f48b503343a24b58.jpg)
Figure: Jtwig servlet example 图:Jtwig servlet 示例
我们在 Opera 网络浏览器中显示应用输出。 NetBeans 中的内置 Tomcat 在 8084 端口上运行。 我们在 Opera 网络浏览器中显示应用输出。 NetBeans 中的内置 Tomcat 在 8084 端口上运行。
...@@ -504,9 +502,7 @@ Spring 是流行的 Java 应用框架。 Spring Boot 是通过最小的努力来 ...@@ -504,9 +502,7 @@ Spring 是流行的 Java 应用框架。 Spring Boot 是通过最小的努力来
![Spring Boot project structure in NetBeans](img/a6a3468335e2a752e45b22bb66271602.jpg) ![Spring Boot project structure in NetBeans](img/a6a3468335e2a752e45b22bb66271602.jpg)
Figure: Spring Boot project structure in NetBeans 图:NetBeans 中的 Spring Boot 项目结构
这是在 NetBeans 中使用 Jtwig 的 Spring Boot 应用的项目结构。 这是在 NetBeans 中使用 Jtwig 的 Spring Boot 应用的项目结构。
...@@ -743,9 +739,7 @@ Hello {{name}}! ...@@ -743,9 +739,7 @@ Hello {{name}}!
![Spring Boot web example](img/0e950b8b9011192999ab8428f16f1ec6.jpg) ![Spring Boot web example](img/0e950b8b9011192999ab8428f16f1ec6.jpg)
Figure: Spring Boot web example 图:Spring Boot Web 示例
Spring Boot 启动一个嵌入式 Tomcat 服务器,监听端口 8080。 Spring Boot 启动一个嵌入式 Tomcat 服务器,监听端口 8080。
......
...@@ -57,9 +57,7 @@ FreeMarker 不仅限于 HTML 页面的模板; 它可以用于生成电子邮 ...@@ -57,9 +57,7 @@ FreeMarker 不仅限于 HTML 页面的模板; 它可以用于生成电子邮
![Java console project structure in NetBeans](img/166861010cf16b57dcb34abb03f95a13.jpg) ![Java console project structure in NetBeans](img/166861010cf16b57dcb34abb03f95a13.jpg)
Figure: Java console project structure in NetBeans 图:NetBeans 中的 Java 控制台项目结构
这是 NetBeans 中的项目结构。 这是 NetBeans 中的项目结构。
...@@ -443,9 +441,7 @@ Today is a wonderful day. ...@@ -443,9 +441,7 @@ Today is a wonderful day.
![FreeMarker servlet project structure in NetBeans](img/a1fc4466004c2d3516854433a8eeda19.jpg) ![FreeMarker servlet project structure in NetBeans](img/a1fc4466004c2d3516854433a8eeda19.jpg)
Figure: FreeMarker servlet project structure in NetBeans 图:NetBeans 中的 FreeMarker servlet 项目结构
这是 NetBeans 中 FreeMarker servlet 示例的项目结构。 这是 NetBeans 中 FreeMarker servlet 示例的项目结构。
...@@ -679,9 +675,7 @@ public class MyServlet extends HttpServlet { ...@@ -679,9 +675,7 @@ public class MyServlet extends HttpServlet {
![FreeMarker servlet example](img/f28a591873d59ccec7214baf76754306.jpg) ![FreeMarker servlet example](img/f28a591873d59ccec7214baf76754306.jpg)
Figure: FreeMarker servlet example 图:FreeMarker servlet 示例
我们在 Opera 网络浏览器中显示应用输出。 NetBeans 中的内置 Tomcat 在 8084 端口上运行。 我们在 Opera 网络浏览器中显示应用输出。 NetBeans 中的内置 Tomcat 在 8084 端口上运行。
...@@ -1259,9 +1253,7 @@ public ModelAndView version() { ...@@ -1259,9 +1253,7 @@ public ModelAndView version() {
![Spring Boot web project structure in NetBeans](img/aa89c791cd4b504cb424bc368ab2418f.jpg) ![Spring Boot web project structure in NetBeans](img/aa89c791cd4b504cb424bc368ab2418f.jpg)
Figure: Spring Boot web project structure in NetBeans 图:NetBeans 中的 Spring Boot Web 项目结构
这是在 NetBeans 中使用 FreeMarker 的 Spring Boot Web 应用的项目结构。 请注意,我们正在 NetBeans 中创建 Java SE Maven 应用,而不是 Java Web Maven 应用。 这是因为我们已将 Tomcat 嵌入到我们的 JAR 文件中。 这是在 NetBeans 中使用 FreeMarker 的 Spring Boot Web 应用的项目结构。 请注意,我们正在 NetBeans 中创建 Java SE Maven 应用,而不是 Java Web Maven 应用。 这是因为我们已将 Tomcat 嵌入到我们的 JAR 文件中。
...@@ -1409,9 +1401,7 @@ public class MyController { ...@@ -1409,9 +1401,7 @@ public class MyController {
![Spring Boot web example](img/95eee3fc5607f6a5c2fc37809827d1e4.jpg) ![Spring Boot web example](img/95eee3fc5607f6a5c2fc37809827d1e4.jpg)
Figure: Spring Boot web example 图:Spring Boot Web 示例
Spring Boot 启动一个嵌入式 Tomcat 服务器,监听端口 8080。 Spring Boot 启动一个嵌入式 Tomcat 服务器,监听端口 8080。
......
...@@ -232,7 +232,7 @@ chart.setTitle(new TextTitle("Average Salary per Age", ...@@ -232,7 +232,7 @@ chart.setTitle(new TextTitle("Average Salary per Age",
![Line chart with JFreeChart](img/21dccd08120fdfc23762285b762a3ab6.jpg) ![Line chart with JFreeChart](img/21dccd08120fdfc23762285b762a3ab6.jpg)
Figure: Line chart 图:折线图
...@@ -414,7 +414,7 @@ plot.setDomainGridlinesVisible(false); ...@@ -414,7 +414,7 @@ plot.setDomainGridlinesVisible(false);
![Line chart with two series](img/8a6de2fab00a451128673f06c729191d.jpg) ![Line chart with two series](img/8a6de2fab00a451128673f06c729191d.jpg)
Figure: Line chart with two series 图:具有两个系列的折线图
...@@ -614,8 +614,7 @@ renderer.setEndType(AreaRendererEndType.LEVEL); ...@@ -614,8 +614,7 @@ renderer.setEndType(AreaRendererEndType.LEVEL);
![Area chart](img/b4856f9cf6f26221f2f716fdcb7a1883.jpg) ![Area chart](img/b4856f9cf6f26221f2f716fdcb7a1883.jpg)
Figure: Area chart 图:面积图
## JFreeChart 条形图 ## JFreeChart 条形图
...@@ -729,7 +728,7 @@ JFreeChart barChart = ChartFactory.createBarChart( ...@@ -729,7 +728,7 @@ JFreeChart barChart = ChartFactory.createBarChart(
![Bar chart](img/eb9cf7adde703ba15ed892f10bf29044.jpg) ![Bar chart](img/eb9cf7adde703ba15ed892f10bf29044.jpg)
Figure: Bar chart 图:条形图
...@@ -917,8 +916,7 @@ ChartUtilities.writeChartAsPNG(outputStream, chart, width, height); ...@@ -917,8 +916,7 @@ ChartUtilities.writeChartAsPNG(outputStream, chart, width, height);
![A pie chart in a browser](img/333dcd309f463fa39b43e37f07a87633.jpg) ![A pie chart in a browser](img/333dcd309f463fa39b43e37f07a87633.jpg)
Figure: A pie chart in a browser 图:浏览器中的饼图
## 显示来自 MySQL 数据库的数据 ## 显示来自 MySQL 数据库的数据
......
...@@ -159,7 +159,7 @@ public void paintComponent(Graphics g) { ...@@ -159,7 +159,7 @@ public void paintComponent(Graphics g) {
![Painting icon](img/52d2779dce48a7f9c3c70bfb549c4195.jpg) ![Painting icon](img/52d2779dce48a7f9c3c70bfb549c4195.jpg)
Figure: Painting icon 图:绘画图标
...@@ -490,7 +490,7 @@ JLabel lbl = new MyLabel(new MissingIcon()); ...@@ -490,7 +490,7 @@ JLabel lbl = new MyLabel(new MissingIcon());
![Missing custom icon](img/42a5372504e2cdbd097ec64489373cb6.jpg) ![Missing custom icon](img/42a5372504e2cdbd097ec64489373cb6.jpg)
Figure: Missing custom icon 图:缺少自定义图标
...@@ -866,7 +866,7 @@ tbp.addTab("", icon1, new JPanel()); ...@@ -866,7 +866,7 @@ tbp.addTab("", icon1, new JPanel());
![JTabbedPane icons](img/3d151aed9b4f6aeb22555cffbd489e9f.jpg) ![JTabbedPane icons](img/3d151aed9b4f6aeb22555cffbd489e9f.jpg)
Figure: JTabbedPane icons 图:`JTabbedPane`图标
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
## 档案 ## 档案
`Files`是 Java 类,其中包含对文件,目录或其他类型的文件进行操作的静态方法。 通常,这些方法将委派给关联的文件系统提供程序来执行文件操作。 `Files`是 Java 类,其中包含对文件,目录或其他类型的文件进行操作的静态方法。 通常,这些方法将委派给关联的文件系统供应器来执行文件操作。
## `BasicFileAttributes` ## `BasicFileAttributes`
......
...@@ -28,9 +28,9 @@ $ composer req symfony/var-dumper ...@@ -28,9 +28,9 @@ $ composer req symfony/var-dumper
## Faker 工厂 ## Faker 工厂
使用`Faker\Factory::create()`,我们创建并初始化一个伪造者生成器。 在生成器上,我们访问生成器属性(称为格式化程序)以生成伪数据。 在内部,Faker 将数据生成委托给提供程序 使用`Faker\Factory::create()`,我们创建并初始化一个伪造者生成器。 在生成器上,我们访问生成器属性(称为格式化程序)以生成伪数据。 在内部,Faker 将数据生成委托给供应器
默认提供程序使用英语语言环境。 Faker 支持其他语言环境; 他们的完成水平不同。 默认供应器使用英语语言环境。 Faker 支持其他语言环境; 他们的完成水平不同。
## 简单的 Faker 示例 ## 简单的 Faker 示例
......
...@@ -30,7 +30,7 @@ $ pip install Dumper ...@@ -30,7 +30,7 @@ $ pip install Dumper
`faker.Faker()`创建并初始化一个伪造的生成器,该伪造器可以通过访问以数据类型命名的属性来生成数据。 `faker.Faker()`创建并初始化一个伪造的生成器,该伪造器可以通过访问以数据类型命名的属性来生成数据。
Faker 将数据生成委托给提供者。 默认提供程序使用英语语言环境。 Faker 支持其他语言环境; 他们的完成水平不同。 Faker 将数据生成委托给提供者。 默认供应器使用英语语言环境。 Faker 支持其他语言环境; 他们的完成水平不同。
## 简单的 Faker ## 简单的 Faker
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册