{"id":18938928,"url":"https://github.com/lihengming/potato-orm","last_synced_at":"2025-04-15T19:30:34.455Z","repository":{"id":57721026,"uuid":"54626284","full_name":"lihengming/potato-orm","owner":"lihengming","description":":pencil:一个简单的ORM框架，寂寞消遣之作~","archived":false,"fork":false,"pushed_at":"2019-04-01T20:30:17.000Z","size":40,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T01:12:49.375Z","etag":null,"topics":["java","orm","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/lihengming.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}},"created_at":"2016-03-24T08:23:12.000Z","updated_at":"2023-02-09T05:52:09.000Z","dependencies_parsed_at":"2022-09-04T16:20:51.988Z","dependency_job_id":null,"html_url":"https://github.com/lihengming/potato-orm","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lihengming%2Fpotato-orm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lihengming%2Fpotato-orm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lihengming%2Fpotato-orm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lihengming%2Fpotato-orm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lihengming","download_url":"https://codeload.github.com/lihengming/potato-orm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249138551,"owners_count":21218906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","orm","sql"],"created_at":"2024-11-08T12:15:50.814Z","updated_at":"2025-04-15T19:30:34.120Z","avatar_url":"https://github.com/lihengming.png","language":"Java","readme":"## 简介\nPotato ORM 是用Java实现的一个简单的ORM框架，SQL方言目前(未来也)仅支持MySQL，仅供娱乐参考~\n## 如何使用？\n1.引入Maven 依赖\n```xml\n\u003c!--Potato ORM--\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ecom.github.lihengming\u003c/groupId\u003e\n    \u003cartifactId\u003epotato-orm\u003c/artifactId\u003e\n    \u003cversion\u003e1.1\u003c/version\u003e\n\u003c/dependency\u003e\n\u003c!--JDBC-MySQL--\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003emysql\u003c/groupId\u003e\n    \u003cartifactId\u003emysql-connector-java\u003c/artifactId\u003e\n    \u003cversion\u003e5.1.38\u003c/version\u003e\n\u003c/dependency\u003e\n\u003c!--如果你需要打印日志的话，引入任何一种SLF4J的实现，例如logback。--\u003e\n\u003cdependency\u003e\n    \u003cgroupId\u003ech.qos.logback\u003c/groupId\u003e\n    \u003cartifactId\u003elogback-classic\u003c/artifactId\u003e\n    \u003cversion\u003e1.1.7\u003c/version\u003e\n\u003c/dependency\u003e\n```\n2.在classpath下添加配置文件application.properties\n```xml\n# JDBC配置，请以你的实际参数进行更改\njdbc.url=jdbc:mysql://localhost:3306/example?useUnicode=true\u0026amp;characterEncoding=utf-8\njdbc.user=root\njdbc.password=123456\n\n# JDBC连接池配置但并不是必须的\n# pool.minsize=5\n# pool.maxsize=15\n```\n3.创建Model 并继承Model\u003cT\u003e\n```java\npublic class User extends Model\u003cUser\u003e {\n    private Long id;\n    private String username;\n    private Integer age;\n    @Column(name = \"nick_name\")//如果你的表字段如Model的属性名称一致的话需要使用@Column注解\n    private String nickName;\n    \n    //省略getter、setter\n}\n```\n4.使用例子\n```java\n    @Test\n    public void test() {\n        User user = new User();\n        user.setUsername(\"potato\");\n        user.setAge(24);\n\n        user.save();//持久化\n        Assert.assertNotNull(user.getId());//持久化之后自动注入自增主键\n\n        Query\u003cUser\u003e query = user.createQuery();//获得Query对象\n\n        List\u003cUser\u003e userList = query.list();//查询所有用户\n        Assert.assertTrue(userList.size() \u003e 0);\n        Assert.assertTrue(\"potato\".equals(userList.get(0).getUsername()));\n\n        user.setUsername(\"potato2\");//重新设置username\n        user.update();//更新\n        User result  = query.findBy(\"username\", \"potato2\");//根据条件查询\n        Assert.assertTrue(\"potato2\".equals(result.getUsername()));\n\n        result.delete();//删除\n        Assert.assertTrue(query.list().isEmpty());\n    }\n```\n\n## 使用建议\n本框架仅限于娱乐，因为它可能只是一个简简单单的玩具轮子，并且随时可能会爆胎，所以并不建议你使用它上路~。\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flihengming%2Fpotato-orm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flihengming%2Fpotato-orm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flihengming%2Fpotato-orm/lists"}