自由学习记录(31)
Java连接MySQL
找到那个关键jar包然后导入选中,就配置好MySQL的JDBC(Java Database Connectivity)了
菜单--文件--项目结构
项目设置--模块--选择要附着的项目--选择依赖--选中模块源--选中加号添加jar包
解压之后在里面可以看到这个最关键的jar文件
下载MySQL的JDBC,从而在java里可以修改数据库的数据
MySQL :: Download Connector/J
1. SQL 和 MySQL 的关系:
-
SQL(Structured Query Language,结构化查询语言) 是一种标准的编程语言,用于与关系型数据库管理系统(RDBMS)进行交互,进行数据的查询、插入、更新、删除等操作。SQL 本身并不是一个数据库,它是一种语言规范,任何符合 SQL 标准的数据库都可以使用 SQL 来操作数据。
-
MySQL 是一个关系型数据库管理系统(RDBMS),它是开源的,基于 SQL 的标准来操作数据库,但 MySQL 还提供了一些额外的特性(比如特定的存储引擎、优化器、复制机制等)。所以,你可以理解 MySQL 是一个可以执行 SQL 查询的系统。
简而言之:
- SQL 是一种语言;
- MySQL 是使用 SQL 语言的数据库管理系统。
2. 为什么用 MySQL 而不是 SQL:
“SQL 很底层,不适合用”,这其实是个误解。SQL 是数据库操作的标准语言,绝大多数数据库系统(如 MySQL、PostgreSQL、SQLite、Oracle 等)都使用 SQL 来进行数据操作。因此,SQL 本身并不“底层”,而是与数据库交互的“通用语言”。你选择 MySQL 这样的数据库管理系统,是因为它是一个实现了 SQL 的数据库,能够存储和管理数据。
3. MySQL 和 JDBC:
-
JDBC(Java Database Connectivity) 是 Java 提供的一种 API,它允许 Java 程序与各种关系型数据库(包括 MySQL)进行通信。通过 JDBC,Java 程序可以执行 SQL 查询,更新数据库,处理数据库连接等。
-
MySQL 与 JDBC 的关系:MySQL 并不是 JDBC,但 MySQL 提供了一个称为 MySQL Connector/J 的 JDBC 驱动程序,它是一个 Java 库,能够让 Java 程序通过 JDBC 与 MySQL 数据库进行交互。简单来说,MySQL 自己并不包括 JDBC,而是需要使用额外的 MySQL JDBC 驱动(通常是
mysql-connector-java
)来实现 Java 与 MySQL 之间的连接。
-------------------
FGUI some part
包不会被重复加载,也是uipackage里设置好的,省了很多的性能
加载fgui包的详细过程:
一个组件可以引用多个fgui包
-
加载包的过程:
- 当您通过
UIPackage.CreateObject("MainUI", "StartButton")
在 Unity 中创建一个 UI 组件时,您只指定了一个包(如MainUI
)。 - FairyGUI 会通过组件的定义反向检查,找出该组件依赖的其他资源包。这意味着
MainUI
组件的定义会包含对a
、b
、c
包中资源的引用,UIPackage.CreateObject
会触发对这些包的加载。
- 当您通过
-
自动导入依赖包:
- 当
UIPackage.CreateObject
被调用时,FairyGUI
会遍历组件的资源依赖(如图片、字体等),并确保加载所有需要的包。 - 包的加载是递归的,即不仅会加载指定的
MainUI
包,还会检查它依赖的其他包,并将这些包一并加载,确保所有资源都能正确显示。
- 当
假设:
- 组件
StartButton
位于MainUI
包中(组件本身也算一种资源,只不过用fgui自己做的)。 StartButton
使用了a
包中的背景图,b
包中的按钮图标,以及c
包中的字体。
在这种情况下,调用 UIPackage.CreateObject("MainUI", "StartButton")
后,FairyGUI 会自动识别并加载 a
、b
和 c
这三个包,即使它们没有直接作为参数传递给 CreateObject
。
- 依赖包的检查 ->反向查找组件的资源依赖。
- fgui通过这样,让使用者可以专注于 UI 组件的开发,而不用把资源包的名字全部记下来。
↑↑↑↑
本需要记住组件使用的资源所在的包的名称
确保在 Unity 中正确地导入这些资源包
-
使用
UIPackage.AddPackage()
函数加载这些资源包(这些包都是fgui定义的格式,不是unity里的,想使用就要先“翻译”) -
只有当资源包被加载到 Unity 中时,才能使用
UIPackage.CreateObject()
来创建和显示这些 UI 组件,因为该函数会依赖于资源包中的资源来渲染组件。
- 使用者本需要记住和确保 组件所使用的所有资源包的名称(但内置了遍历依赖包的函数,就不用全部记住了)。
- 在 Unity 中,您必须通过
UIPackage.AddPackage()
导入所有相关资源包,才能在 Unity 中正确创建和显示这些 UI 组件。 - 如果没有导入某个包的资源,组件可能会无法渲染或出现缺失的资源。
在 FairyGUI(FGUI)中,UIPackage.CreateObject
是一个常用的函数,用于根据指定的包和组件名称创建一个 UI 对象。这个函数通常用于动态加载和实例化从 FairyGUI 编辑器导出的 UI 资源。
UIPackage.CreateObject
有以下两种常用的重载形式,分别接受不同类型的参数:
CreateObject(packageName, resName)
CreateObject(packageName, resName, userClass)
packageName
:包的名称string。是FairyGUI 编辑器 打包并导出的资源包。resName
:组件的名称string。是FairyGUI 编辑器 中创建的 UI 组件的名称。通常是一个具体的界面或控件,比如一个窗口、按钮、图像等。userClass
:可选参数,允许你为创建的 UI 组件指定一个用户自定义类。可以在创建的对象上添加特定的行为或扩展功能。
对于显示某个面板,要显示之前要先把这个面板使用的资源所在的package都导入进来
fgui里,一个面板就是一个新的类,隐藏面板传入类的泛型就可以了
package里面放各种资源的文件夹
默认创建这个按钮
方式二,用自己定义的字典变量去对应fgui里的那些{}
只做了解,在loader加载时,存在可调整加载执行代码的自由空间
UIObjectFactory.SetLoaderExtension(typeof(MyGLoader));
GLoader的自定义加载,外部用Loader工厂再设置一下这个的type,之后的所有loader就都会用这里面的加载和释放会调用的办法
也可以用Resource路径
基础元件---图片
舞台上的最小单位就是元件
锚点决定具体像素位置的判断,轴心决定对组件的操作修改变动中心
改尺寸只改自己,改缩放会连带之后的子对象的
childrenRenderOrder
加载完资源就调用里面的委托
FairyGUI软件、与各个游戏编辑引擎连接的SDK
FairyGUI
中国人做的