# 如何使用 MySQL 配置 Glassfish 4
> 原文: [https://javatutorial.net/configure-glassfish-mysql](https://javatutorial.net/configure-glassfish-mysql)
本文介绍了如何使用 Glassfish 应用服务器 设置和配置 MySQL 数据库
![](https://img.kancloud.cn/44/c7/44c7a6142d9ac9460a0e11b6bb025061_620x320.jpg)
如今,MySQL 已在生产和开发环境中广泛使用。 Glassfish 4(及先前版本)具有易于管理数据库连接的界面。 您可以使用 Glassfish 的管理控制台来设置和配置 MySQL 数据库,或者,如果您愿意,可以编辑包含数据库首选项的配置文件。 我将在本教程中向您展示这两种方法。 核心部分本教程也适用于 Payara。
## 要求
MySQL Server 安装在本地或远程计算机上。 另外,您将需要一个现有用户(带有密码)和一个对该用户具有读/写权限的数据库
Glassfish(或 Payara)4 应用程序服务器
## 在 Glassfish 上安装 MySQL Java Connector
MySQL 的官方 JDBC(Java 数据库连接)驱动程序称为 MySQL Connector/J。 您可以在 [https://dev.mysql.com/downloads/connector/j/](https://dev.mysql.com/downloads/connector/j/) 找到下载页面。
1. 下载 TAR 或 ZIP 归档文件 - 无论您喜欢使用什么文件。 解压缩档案后,您会发现一个名为`mysql-connector-java-X.X.XX-bin.jar`的 JAR 文件(其中`X.X.XX`是版本号)。
2. 将 JAR 文件粘贴到您的`GLASSFISH_HOME/glassfish/bin`目录中
3. 重新启动 Glassfish,以使更改生效
## 创建 Glassfish JDBC 连接池
在本地主机上打开 Glassfish 管理控制台:4848
展开 JDBC,然后单击“JDBC 连接池”
单击“新建…”按钮以创建新的连接池
![Glassfish create new JDBC pool](https://img.kancloud.cn/6a/2c/6a2c5b206226a8c00898002cb667fc5f_749x561.jpg)
Glassfish 创建新的 JDBC 连接池
在“池名称”中输入连接池的名称
选择`javax.sql.DataSource`作为“资源类型”
选择 MySql 作为“数据库驱动程序供应商”
点击“下一步”按钮进行下一步
![Create JDBC connection pool](https://img.kancloud.cn/db/68/db68d29be33f342172dcb654e75b75e4_948x501.jpg)
创建 JDBC 连接池
在屏幕 #2 上,检查“数据源类名”,应将其设置为`com.mysql.jdbc.jdbc2.optional.MysqlDataSource`
启用“Ping”
![Create JDBC connection pool step 2](https://img.kancloud.cn/fa/61/fa61b325c575df9a477c0a9a6fa695ee_1024x720.jpg)
创建 JDBC 连接池的步骤 2
现在在同一屏幕上向下滚动。
填写以下必填字段:
* `User ` – 输入数据库用户名
* `DatabaseName` –输入数据库的名称
* `Password` – 是您在第一个字段中输入的用户密码
* `URL`和`Url` – 在`jdbc:mysql://:3306/`之后添加数据库的名称,因此它成为`jdbc:mysql://:3306/tutorials`
![](https://img.kancloud.cn/84/f7/84f7f9fedb2d052aa33f8838ea5ce393_953x85.jpg)
![](https://img.kancloud.cn/c3/63/c363998f64c7e92491de82aef3e6ea83_997x531.jpg)
![](https://img.kancloud.cn/b9/39/b93909784058c5bd3c71df8576610e1c_974x131.jpg)
您可能要根据项目的偏好填写其他一些字段,这完全取决于您!
单击“完成”按钮以保存您的配置。 发送到数据库的`ping`命令以检查连接。 如果一切正常,您将看到以下消息:
![](https://img.kancloud.cn/eb/a4/eba466f6db427ff104009a724cb80e3e_274x74.jpg)
如果看到错误消息,请单击“编辑”,然后检查输入的数据是否正确。
## 在 Glassfish 中创建 JDBC 资源
创建 JDBC 资源不一定是 MySQL 配置教程的一部分,但是您将需要使用它来将项目连接到数据库,因此在这里进行介绍:
选择“JDBC 资源”,然后单击“新建...”按钮
![Glassfish JDBC-resources](https://img.kancloud.cn/b1/4e/b14e0fb6413c1476a6643d221ab3617e_800x501.jpg)
Glassfish JDBC 资源
在“JNDI 名称”下,输入`jdbc/`,然后输入您要为此资源指定的名称。 例如`jdbc/tutorialsDS`
在“池名称”下,选择您在上一步中刚刚创建的连接池的名称
保存新创建的 JDBC 资源
![Glassfish create new JDBC resource](https://img.kancloud.cn/d2/f7/d2f72a0d05af96a6e97ade7dcc4d61f1_740x553.jpg)
Glassfish 创建新的 JDBC 资源
好的! 现在,您可以将 MySQL 数据库与在 Glassfish 服务器上部署的应用程序一起使用了。
## 替代配置方法
如果您希望通过编辑配置文件来创建连接池和 JDBC 资源,则可以通过在`<resources>...</resources>`标记之间的以下行中为选定域的`GLASSFISH_HOME/glassfish/domains/domain1/config/domain.xml`插入 Glassfish 的配置文件中来轻松完成此操作
```java
<jdbc-connection-pool ping="true" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" name="MySQLPool" res-type="javax.sql.DataSource">
<property name="SelfDestructOnPingSecondsLifetime" value="0"></property>
<property name="UseUsageAdvisor" value="false"></property>
<property name="AllowSlaveDownConnections" value="false"></property>
<property name="LoadBalanceBlacklistTimeout" value="0"></property>
<property name="QueryTimeoutKillsConnection" value="false"></property>
<property name="CacheServerConfiguration" value="false"></property>
<property name="RoundRobinLoadBalance" value="false"></property>
<property name="UseCursorFetch" value="false"></property>
<property name="JdbcCompliantTruncation" value="true"></property>
<property name="UseOnlyServerErrorMessages" value="true"></property>
<property name="AllowPublicKeyRetrieval" value="false"></property>
<property name="DefaultAuthenticationPlugin" value="com.mysql.jdbc.authentication.MysqlNativePasswordPlugin"></property>
<property name="DontTrackOpenResources" value="false"></property>
<property name="UseInformationSchema" value="false"></property>
<property name="UseNanosForElapsedTime" value="false"></property>
<property name="UseCompression" value="false"></property>
<property name="EnableEscapeProcessing" value="true"></property>
<property name="PasswordCharacterEncoding" value="UTF-8"></property>
<property name="AutoDeserialize" value="false"></property>
<property name="TcpRcvBuf" value="0"></property>
<property name="CallableStatementCacheSize" value="100"></property>
<property name="AutoSlowLog" value="true"></property>
<property name="IgnoreNonTxTables" value="false"></property>
<property name="UseJDBCCompliantTimezoneShift" value="false"></property>
<property name="AllowNanAndInf" value="false"></property>
<property name="TcpSndBuf" value="0"></property>
<property name="ContinueBatchOnError" value="true"></property>
<property name="Logger" value="com.mysql.jdbc.log.StandardLogger"></property>
<property name="MaxAllowedPacket" value="-1"></property>
<property name="PrepStmtCacheSqlLimit" value="256"></property>
<property name="AllowMultiQueries" value="false"></property>
<property name="StrictFloatingPoint" value="false"></property>
<property name="PreparedStatementCacheSqlLimit" value="256"></property>
<property name="CachePreparedStatements" value="false"></property>
<property name="InitialTimeout" value="2"></property>
<property name="UseUnicode" value="true"></property>
<property name="AutoClosePStmtStreams" value="false"></property>
<property name="UseServerPrepStmts" value="false"></property>
<property name="IncludeThreadNamesAsStatementComment" value="false"></property>
<property name="PreparedStatementCacheSize" value="25"></property>
<property name="CreateDatabaseIfNotExist" value="false"></property>
<property name="RollbackOnPooledClose" value="true"></property>
<property name="SocketFactoryClassName" value="com.mysql.jdbc.StandardSocketFactory"></property>
<property name="LoadBalanceValidateConnectionOnSwapServer" value="false"></property>
<property name="CompensateOnDuplicateKeyUpdateCounts" value="false"></property>
<property name="EnablePacketDebug" value="false"></property>
<property name="JdbcCompliantTruncationForReads" value="true"></property>
<property name="PadCharsWithSpace" value="false"></property>
<property name="NoAccessToProcedureBodies" value="false"></property>
<property name="UseTimezone" value="false"></property>
<property name="ClientCertificateKeyStoreType" value="JKS"></property>
<property name="Port" value="3306"></property>
<property name="ClientInfoProvider" value="com.mysql.jdbc.JDBC4CommentClientInfoProvider"></property>
<property name="IsInteractiveClient" value="false"></property>
<property name="CachePrepStmts" value="false"></property>
<property name="ProfileSQL" value="false"></property>
<property name="ProfileSql" value="false"></property>
<property name="MaxQuerySizeToLog" value="2048"></property>
<property name="LoadBalanceHostRemovalGracePeriod" value="15000"></property>
<property name="TreatUtilDateAsTimestamp" value="true"></property>
<property name="DynamicCalendars" value="false"></property>
<property name="DatabaseName" value="tutorials"></property>
<property name="UseSSL" value="false"></property>
<property name="DisconnectOnExpiredPasswords" value="true"></property>
<property name="DontCheckOnDuplicateKeyUpdateInSQL" value="false"></property>
<property name="TrustCertificateKeyStoreType" value="JKS"></property>
<property name="MaxRows" value="-1"></property>
<property name="SlowQueryThresholdMillis" value="2000"></property>
<property name="ResultSetSizeThreshold" value="100"></property>
<property name="UseBlobToStoreUTF8OutsideBMP" value="false"></property>
<property name="TransformedBitIsBoolean" value="false"></property>
<property name="Pedantic" value="false"></property>
<property name="SocksProxyPort" value="1080"></property>
<property name="UseUltraDevWorkAround" value="false"></property>
<property name="EnableQueryTimeouts" value="true"></property>
<property name="LogXaCommands" value="false"></property>
<property name="PrepStmtCacheSize" value="25"></property>
<property name="Password" value="YOUR_DB_PASSWORD_HERE"></property>
<property name="SelfDestructOnPingMaxOperations" value="0"></property>
<property name="ZeroDateTimeBehavior" value="exception"></property>
<property name="CallableStmtCacheSize" value="100"></property>
<property name="SecondsBeforeRetryMaster" value="30"></property>
<property name="EmulateLocators" value="false"></property>
<property name="LoginTimeout" value="0"></property>
<property name="GatherPerfMetrics" value="false"></property>
<property name="RetriesAllDown" value="120"></property>
<property name="DetectCustomCollations" value="false"></property>
<property name="NoDatetimeStringSync" value="false"></property>
<property name="LoadBalanceStrategy" value="random"></property>
<property name="UseOldUTF8Behavior" value="false"></property>
<property name="LoadBalanceAutoCommitStatementThreshold" value="0"></property>
<property name="UltraDevHack" value="false"></property>
<property name="UseFastIntParsing" value="true"></property>
<property name="StrictUpdates" value="true"></property>
<property name="EmptyStringsConvertToZero" value="true"></property>
<property name="UseLocalSessionState" value="false"></property>
<property name="LoggerClassName" value="com.mysql.jdbc.log.StandardLogger"></property>
<property name="NullNamePatternMatchesAll" value="true"></property>
<property name="PopulateInsertRowWithDefaultValues" value="false"></property>
<property name="ProfilerEventHandler" value="com.mysql.jdbc.profiler.LoggingProfilerEventHandler"></property>
<property name="UseStreamLengthsInPrepStmts" value="true"></property>
<property name="RunningCTS13" value="false"></property>
<property name="UseOldAliasMetadataBehavior" value="false"></property>
<property name="ReadOnlyPropagatesToServer" value="true"></property>
<property name="SocketFactory" value="com.mysql.jdbc.StandardSocketFactory"></property>
<property name="MaxReconnects" value="3"></property>
<property name="ReportMetricsIntervalMillis" value="30000"></property>
<property name="BlobsAreStrings" value="false"></property>
<property name="SendFractionalSeconds" value="true"></property>
<property name="CacheResultSetMetadata" value="false"></property>
<property name="Paranoid" value="false"></property>
<property name="AllowUrlInLocalInfile" value="false"></property>
<property name="NoTimezoneConversionForTimeType" value="false"></property>
<property name="EmulateUnsupportedPstmts" value="true"></property>
<property name="ReconnectAtTxEnd" value="false"></property>
<property name="RequireSSL" value="false"></property>
<property name="UseHostsInPrivileges" value="true"></property>
<property name="UseSSPSCompatibleTimezoneShift" value="false"></property>
<property name="UseReadAheadInput" value="true"></property>
<property name="ParseInfoCacheFactory" value="com.mysql.jdbc.PerConnectionLRUFactory"></property>
<property name="DefaultFetchSize" value="0"></property>
<property name="URL" value="jdbc:mysql://localhost:3306/tutorials"></property>
<property name="Url" value="jdbc:mysql://localhost:3306/tutorials"></property>
<property name="AllowMasterDownConnections" value="false"></property>
<property name="CacheDefaultTimezone" value="true"></property>
<property name="QueriesBeforeRetryMaster" value="50"></property>
<property name="FunctionsNeverReturnBlobs" value="false"></property>
<property name="DumpQueriesOnException" value="false"></property>
<property name="LoadBalanceExceptionChecker" value="com.mysql.jdbc.StandardLoadBalanceExceptionChecker"></property>
<property name="VerifyServerCertificate" value="true"></property>
<property name="NetTimeoutForStreamingResults" value="600"></property>
<property name="ProcessEscapeCodesForPrepStmts" value="true"></property>
<property name="UseAffectedRows" value="false"></property>
<property name="GatherPerformanceMetrics" value="false"></property>
<property name="TinyInt1isBit" value="true"></property>
<property name="MetadataCacheSize" value="50"></property>
<property name="RewriteBatchedStatements" value="false"></property>
<property name="CacheCallableStatements" value="false"></property>
<property name="ServerName" value="localhost"></property>
<property name="GetProceduresReturnsFunctions" value="true"></property>
<property name="UseGmtMillisForDatetimes" value="false"></property>
<property name="CapitalizeTypeNames" value="true"></property>
<property name="ServerConfigCacheFactory" value="com.mysql.jdbc.PerVmServerConfigCacheFactory"></property>
<property name="NoTimezoneConversionForDateType" value="true"></property>
<property name="TcpTrafficClass" value="0"></property>
<property name="AutoGenerateTestcaseScript" value="false"></property>
<property name="CacheCallableStmts" value="false"></property>
<property name="FailOverReadOnly" value="true"></property>
<property name="LoadBalancePingTimeout" value="0"></property>
<property name="LocatorFetchBufferSize" value="1048576"></property>
<property name="RelaxAutoCommit" value="false"></property>
<property name="UseFastDateParsing" value="true"></property>
<property name="LoadBalanceEnableJMX" value="false"></property>
<property name="OverrideSupportsIntegrityEnhancementFacility" value="false"></property>
<property name="HoldResultsOpenOverStatementClose" value="false"></property>
<property name="InteractiveClient" value="false"></property>
<property name="UseJvmCharsetConverters" value="false"></property>
<property name="PortNumber" value="3306"></property>
<property name="UseDynamicCharsetInfo" value="true"></property>
<property name="LogSlowQueries" value="false"></property>
<property name="IncludeThreadDumpInDeadlockExceptions" value="false"></property>
<property name="ReplicationEnableJMX" value="false"></property>
<property name="SlowQueryThresholdNanos" value="0"></property>
<property name="UseDirectRowUnpack" value="true"></property>
<property name="UseSqlStateCodes" value="true"></property>
<property name="IncludeInnodbStatusInDeadlockExceptions" value="false"></property>
<property name="MaintainTimeStats" value="true"></property>
<property name="PinGlobalTxToPhysicalConnection" value="false"></property>
<property name="TcpNoDelay" value="true"></property>
<property name="TraceProtocol" value="false"></property>
<property name="AlwaysSendSetIsolation" value="true"></property>
<property name="NullCatalogMeansCurrent" value="true"></property>
<property name="YearIsDateType" value="true"></property>
<property name="SocketTimeout" value="0"></property>
<property name="UseServerPreparedStmts" value="false"></property>
<property name="UseLocalTransactionState" value="false"></property>
<property name="GenerateSimpleParameterMetadata" value="false"></property>
<property name="ExplainSlowQueries" value="false"></property>
<property name="UseColumnNamesInFindColumn" value="false"></property>
<property name="ConnectTimeout" value="0"></property>
<property name="ElideSetAutoCommits" value="false"></property>
<property name="PacketDebugBufferSize" value="20"></property>
<property name="RetainStatementAfterResultSetClose" value="false"></property>
<property name="DumpMetadataOnColumnNotFound" value="false"></property>
<property name="BlobSendChunkSize" value="1048576"></property>
<property name="UseLegacyDatetimeCode" value="true"></property>
<property name="UseUnbufferedInput" value="true"></property>
<property name="AllowLoadLocalInfile" value="true"></property>
<property name="ReadFromMasterWhenNoSlaves" value="false"></property>
<property name="AutoReconnectForPools" value="false"></property>
<property name="TcpKeepAlive" value="true"></property>
<property name="ClobberStreamingResults" value="false"></property>
<property name="User" value="root"></property>
</jdbc-connection-pool>
<jdbc-resource pool-name="MySQLPool" jndi-name="jdbc/tutorialsDS"></jdbc-resource>
```
还要在`<server>...</server>`标签中添加以下行
```java
<resource-ref ref="jdbc/tutorialsDS"></resource-ref>
```
谢谢阅读。 如果您对许多配置属性有任何疑问或建议,请使用下面的注释部分。
- JavaTutorialNetwork 中文系列教程
- Java 基础
- Java 概述
- 在 Ubuntu 上安装 Java 8 JDK
- Java Eclipse 教程
- Eclipse 快捷方式
- 简单的 Java 示例
- Java 基本类型
- Java 循环
- Java 数组
- Java 读取文件示例
- Java 对象和类教程
- 什么是面向对象编程(OOP)
- Java 封装示例
- Java 接口示例
- Java 继承示例
- Java 抽象示例
- Java 多态示例
- Java 中的方法重载与方法覆盖
- Java 控制流语句
- Java 核心
- 如何在 Windows,Linux 和 Mac 上安装 Maven
- 如何使用 Maven 配置文件
- 如何将自定义库包含到 Maven 本地存储库中
- 如何使用 JUnit 进行单元测试
- 如何使用 Maven 运行 JUnit 测试
- 如何在 Java 中使用 Maven 创建子模块
- 如何使用 Maven 创建 Java JAR 文件
- 如何使用 Maven 创建 Java WAR 文件
- JVM 解释
- Java 内存模型解释示例
- 捕获 Java 堆转储的前 3 种方法
- Java 垃圾收集
- Java 互斥量示例
- Java 信号量示例
- Java 并行流示例
- Java 线程同步
- Java 线程池示例
- Java ThreadLocal示例
- Java 中的活锁和死锁
- Java Future示例
- Java equals()方法示例
- Java Lambda 表达式教程
- Java Optional示例
- Java 11 HTTP 客户端示例
- Java 类加载器介绍
- Java 枚举示例
- Java hashCode()方法示例
- 如何测试独立的 Java 应用程序
- SWING JFrame基础知识,如何创建JFrame
- Java SWING JFrame布局示例
- 在JFrame上显示文本和图形
- 与JFrame交互 – 按钮,监听器和文本区域
- 如何使用 Maven 创建 Java JAR 文件
- Java Collection新手指南
- 选择合适的 Java 集合
- Java ArrayList示例
- Java LinkedList示例
- Java HashSet示例
- Java TreeSet示例
- Java LinkedHashSet示例
- Java EnumSet示例
- Java ConcurrentHashSet示例
- Java HashMap示例
- Java LinkedHashMap示例
- Java TreeMap示例
- Java EnumMap示例
- Java WeakHashMap示例
- Java IdentityHashMap示例
- Java SortedMap示例
- Java ConcurrentMap示例
- Java Hashtable示例
- Java 中ArrayList和LinkedList之间的区别
- Java HashMap迭代示例
- Java HashMap内联初始化
- Java 中HashMap和TreeMap之间的区别
- Java 图示例
- Java 深度优先搜索示例
- Java 广度优先搜索示例
- 不同的算法时间复杂度
- Java 序列化示例
- Java 反射示例
- Java 中的弱引用
- Java 8 日期时间 API
- Java 基本正则表达式
- 使用 Java 检索可用磁盘空间
- Java 生成 MD5 哈希和
- Java 增加内存
- Java 属性文件示例
- 如何在 Eclipse 上安装 Java 9 Beta
- Java 9 JShell 示例
- Java 9 不可变列表示例
- Java 9 不可变集示例
- Java 9 不可变映射示例
- Java 单例设计模式示例
- Java 代理设计模式示例
- Java 观察者设计模式示例
- Java 工厂设计模式
- Java 构建器设计模式
- Java 比较器示例
- Java 发送电子邮件示例
- Java volatile示例
- Java Docker 和 Docker 容器简介
- 安装和配置 MySQL 数据库和服务器以供 Spring 使用
- 如何在 Java 中使用 MySQL 连接器
- 如何使用 Eclipse 调试 Java
- Java EE
- 如何在 Windows 10 中设置JAVA_HOME
- JavaBeans 及其组件简介
- 如何安装和配置 Tomcat 8
- 如何在 Tomcat 中部署和取消部署应用程序
- 从 Eclipse 运行 Tomcat
- Java Servlet 示例
- Java Servlet POST 示例
- Servlet 请求信息示例
- Servlet 注解示例
- 使用初始化参数配置 Java Web 应用程序
- Java Servlet 文件上传
- Java JSP 示例
- Glassfish 启用安全管理
- 如何使用 MySQL 配置 Glassfish 4
- Java 文件上传 REST 服务
- Glassfish 和 Jetty 的 Java WebSockets 教程
- 基于 Glassfish 表单的身份验证示例
- 如何使用 Java EE 和 Angular 构建单页应用程序
- Spring
- 在 Eclipse 中安装 Spring STS
- 使用 STS 创建简单的 Spring Web App
- Spring Web Framework 简介
- Java Docker 和 Docker 容器简介
- 在 Spring 中实现控制器
- Spring 中的PathVariable注解
- Spring 中的RequestBody注解
- Spring 中的RequestParam注解
- Spring 拦截器
- Spring IOC
- Java Spring IoC 容器示例
- Spring 中的DispatcherServlet
- Spring 示例中的依赖注入
- 实现 Spring MVC 控制器
- Spring ORM 简介
- 什么是 DAO 以及如何使用它
- 如何对 DAO 组件进行单元测试
- 如何对控制器和服务执行单元测试
- 安装和配置 MySQL 数据库和服务器以供 Spring 使用
- 如何在 Spring 中处理登录身份验证
- Spring Security 简介及其设置
- 如何使用 Spring 创建 RESTful Web 服务
- Spring CSRF 保护
- Spring 中基于 OAuth2 的身份验证和授权
- Spring Boot 简介
- Spring MVC 框架介绍
- Spring JDBC 简介
- 如何 docker 化 Spring 应用程序
- Spring 的@Autowired注解
- Spring AOP 中的核心概念和建议类型
- Sping Bean 简介
- 如何在 Java 中使用 MySQL 连接器
- 安卓
- 安装和配置 Android Studio
- 将 Android 设备连接到 Android Studio
- Android 简介,活动,意图,服务,布局
- 创建一个简单的 Android 应用
- 运行和调试 Android 应用程序
- 在虚拟设备上运行 Android 应用程序
- Android 活动示例
- Android 意图示例
- Android 服务示例
- Android 线性布局示例
- Android 相对布局示例
- Android Web 视图示例
- Android 列表视图示例
- Android 网格视图示例
- 带有ListAdapter的 Android ListView示例
- Android SQLite 数据库介绍
- Android SQLite 数据库示例
- Android 动画教程
- Android 中的通知
- Android 中的事件处理
- 如何在 Android 中发送带有附件的电子邮件
- 杂项
- 选择您的 JAVA IDE:Eclipse,NetBeans 和 IntelliJ IDEA
- Java S3 示例
- 如何在 Ubuntu 上为多个站点配置 Apache
- 如何在 Liferay DXP 中替代现成的(OOTB)模块
- 简单的 Git 教程
- 使用 Java 捕获网络数据包
- Selenium Java 教程
- 使用特定工作区运行 Eclipse
- 在 Eclipse 中安装 SVN
- 如何运行 NodeJS 服务器
- SQL 内连接示例
- SQL 左连接示例
- SQL 右连接示例
- SQL 外连接示例
- 树莓派
- Raspberry Pi 3 规格
- 将 Raspbian 安装到 SD 卡
- Raspberry Pi 首次启动
- 远程连接到 Raspberry Pi
- 建立 Raspberry Pi 远程桌面连接
- Raspberry Pi Java 教程
- 使用 PWM 的 Raspberry Pi LED 亮度调节
- Raspberry Pi 控制电机速度
- Raspberry Pi 用 Java 控制直流电机的速度和方向