{"id":21357613,"url":"https://github.com/mustafabinguldev/handatabasecoreapi","last_synced_at":"2026-04-15T18:02:06.903Z","repository":{"id":153573288,"uuid":"625995512","full_name":"mustafabinguldev/HanDatabaseCoreAPI","owner":"mustafabinguldev","description":"Complex minecraft database API","archived":false,"fork":false,"pushed_at":"2023-04-18T15:58:47.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-16T06:14:58.014Z","etag":null,"topics":["database","minecraft-plugin","minecraft-plugin-api","mysql","orm","spigot","spigot-api","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mustafabinguldev.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-04-10T15:15:53.000Z","updated_at":"2024-06-27T19:15:20.000Z","dependencies_parsed_at":"2023-05-19T18:45:33.583Z","dependency_job_id":null,"html_url":"https://github.com/mustafabinguldev/HanDatabaseCoreAPI","commit_stats":null,"previous_names":["mustafabinguldev/handatabasecoreapi"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/mustafabinguldev/HanDatabaseCoreAPI","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FHanDatabaseCoreAPI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FHanDatabaseCoreAPI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FHanDatabaseCoreAPI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FHanDatabaseCoreAPI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mustafabinguldev","download_url":"https://codeload.github.com/mustafabinguldev/HanDatabaseCoreAPI/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mustafabinguldev%2FHanDatabaseCoreAPI/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31853279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","minecraft-plugin","minecraft-plugin-api","mysql","orm","spigot","spigot-api","sql"],"created_at":"2024-11-22T05:08:39.636Z","updated_at":"2026-04-15T18:02:06.882Z","avatar_url":"https://github.com/mustafabinguldev.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"The Minecraft database plugin API is a tool for developers to create plugins that interact with the game's database. It uses Hibernate ORM to simplify database programming and includes classes for creating database connections, executing queries, and retrieving results. With this API, developers can create plugins to store and retrieve game data, such as player statistics and game items.\n\nGradle\n```\n\tallprojects {\n\t\trepositories {\n\t\t\t...\n\t\t\tmaven { url 'https://jitpack.io' }\n\t\t}\n\t}\n\t\n\tdependencies {\n\t        implementation 'com.github.BingulHan:HanDatabaseCoreAPI:1.0'\n\t}\n```\n\nMaven\n```\n\t\u003crepositories\u003e\n\t\t\u003crepository\u003e\n\t\t    \u003cid\u003ejitpack.io\u003c/id\u003e\n\t\t    \u003curl\u003ehttps://jitpack.io\u003c/url\u003e\n\t\t\u003c/repository\u003e\n\t\u003c/repositories\u003e\n\t\n\t\u003cdependency\u003e\n\t    \u003cgroupId\u003ecom.github.BingulHan\u003c/groupId\u003e\n\t    \u003cartifactId\u003eHanDatabaseCoreAPI\u003c/artifactId\u003e\n\t    \u003cversion\u003e1.0\u003c/version\u003e\n\t\u003c/dependency\u003e\n```\n\nHow to add database?\n```\n        File xmlConfigFile = new File(getDataFolder(), \"exampleConfig.xml\");\n        HanDatabaseObject databaseObject = new HanDatabaseObject(xmlConfigFile, \"skywars\", PlayerScore.class);\n        HanDatabaseCore.addDatabase(databaseObject);\n```\n\n\nHow to add, remove, fetch and update objects from database?\n```\n        DatabaseHelper\u003cPlayerScore\u003e databaseHelper =  HanDatabaseCore.getDatabase(\"skywars\").get().getHelper(PlayerScore.class);\n\n        //The first parameter must be 1.\n        //Player Name, Kills, Deaths\n        \n        PlayerScore score = databaseHelper.get(player.getName());\n        if (score == null) {\n\n            databaseHelper.create(1, player.getName(), 0, 0);   \n            \n        }else {\n            \n            score.kills += 1;\n            databaseHelper.update(score);\n            \n        }\n        \n        // databaseHelper.delete(score);\n```\n\nPlayerScore.class\n\n```\nimport javax.persistence.Column;\nimport javax.persistence.Entity;\nimport javax.persistence.Id;\nimport javax.persistence.Table;\n\n//All annotations need to be put.\n@Entity \n@Table(name = \"scores\")\npublic class PlayerScore {\n    \n    //Tables of objects that do not contain IDs are not created. \n    //Putting Id in String is a must.\n    @Id\n    @Column(name = \"uuid\")\n    public String uuid;\n    \n    @Column(name = \"kills\")\n    public int kills;\n    \n    @Column(name = \"deaths\")\n    public int deaths;\n    \n    //Two constructor blocks must be placed, one must contain all variables, \n    //one must be empty, the first constructor block must be empty.\n    public PlayerScore() {\n        super();\n    }\n    \n    public PlayerScore(String uuid, int kills, int deaths) {\n        this.uuid = uuid;\n        this.kills = kills;\n        this.deaths = deaths;\n    }\n}\n```\n\nexampleConfig.xml\n```\n\u003c!DOCTYPE hibernate-configuration PUBLIC\n        \"-//Hibernate/Hibernate Configuration DTD 3.0//EN\"\n        \"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd\"\u003e\n\n\u003chibernate-configuration\u003e\n\n    \u003csession-factory\u003e\n\n        \u003c!-- JDBC Database connection settings --\u003e\n        \u003cproperty name=\"connection.driver_class\"\u003ecom.mysql.cj.jdbc.Driver\u003c/property\u003e\n        \u003cproperty name=\"connection.url\"\u003ejdbc:mysql://localhost:3306/test?useSSL=false\u0026amp;serverTimezone=UTC\u003c/property\u003e\n        \u003cproperty name=\"connection.username\"\u003etest\u003c/property\u003e\n        \u003cproperty name=\"connection.password\"\u003etest\u003c/property\u003e\n\n        \u003c!-- JDBC connection pool settings --\u003e\n        \u003cproperty name=\"connection.pool_size\"\u003e1\u003c/property\u003e\n\n        \u003c!-- Select our SQL dialect --\u003e\n        \u003cproperty name=\"dialect\"\u003eorg.hibernate.dialect.MySQLDialect\u003c/property\u003e\n\n        \u003c!-- Echo the SQL to stdout --\u003e\n        \u003cproperty name=\"show_sql\"\u003efalse\u003c/property\u003e\n\n        \u003c!-- Format the SQL --\u003e\n        \u003cproperty name=\"format_sql\"\u003efalse\u003c/property\u003e\n\n        \u003c!-- Set the current session context --\u003e\n        \u003cproperty name=\"current_session_context_class\"\u003ethread\u003c/property\u003e\n\n        \u003c!-- Handles the entity table changes --\u003e\n        \u003cproperty name=\"hibernate.hbm2ddl.auto\"\u003eupdate\u003c/property\u003e\n\n\n    \u003c/session-factory\u003e\n\n\u003c/hibernate-configuration\u003e\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafabinguldev%2Fhandatabasecoreapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmustafabinguldev%2Fhandatabasecoreapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmustafabinguldev%2Fhandatabasecoreapi/lists"}