GitHub: https://github.com/PaulusChang/jacob-danjava
Gitee: https://gitee.com/paulusgit/jacob-dangit
simple springboot+jpagithub
3、MySQL規約 【強制】表必備三字段:id, gmt_create, gmt_modified。 說明:其中id必爲主鍵,類型爲unsigned bigint、單表時自增、步長爲1。gmt_create, gmt_modified的類型均爲date_time類型。spring
BaseEntity中id爲String類型,由SnowflakeIdFactory產生,除了上述字段,還增長了is_deleted字段做爲刪除標識springboot
建立實體類,並調用方法生成相應的 service/repository 代碼,以 jacob.dan.user.entity.UserRole 爲例工具
在 jacob.dan.user.entity 包下添加 UserRole.java測試
package jacob.dan.user.entity; import javax.persistence.Entity; import javax.persistence.ManyToOne; import javax.persistence.Table; import jacob.dan.base.bean.BaseEntity; [@Entity](https://my.oschina.net/u/1260961) @Table(name = "dan_user_row") public class UserRole extends BaseEntity { @ManyToOne private User user; @ManyToOne private Role role; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } }
代碼生成工具 jacob.dan.generator.code.Generator.main(String[]) 能夠生成指定包、類、目標類型的代碼文件,參見對象中的方法this
generate(Category, Class<?>) generate(CategoryList, Class<?>) generate(Category, Package) generate(CategoryList, Package)
測試封裝好的查詢方法code
測試示例中注入的 UserService 是自動生成的,繼承了 BaseService。完事測試代碼參見 https://github.com/PaulusChang/jacob-dan/blob/master/src/test/java/jacob/dan/test/QueryTest.java, 簡單的調用示例以下
/** * 測試排序 * [@author](https://my.oschina.net/arthor) ChangJian * @date 2019年2月26日 */ @Test public void testSort() { User user = new User(); //birthday desc user.setOrderBean(new OrderBean(Direction.DESC, "birthday")); List<User> users = userService.findAll(user); assertThat(users.size(), Matchers.greaterThan(0)); for (int i = 1; i < users.size(); i++) { assertThat(users.get(i - 1).getBirthday(), Matchers.greaterThanOrEqualTo(users.get(i).getBirthday())); } } /** * 測試普通的約束 * @author ChangJian * @date 2019年2月25日 */ @Test public void testNormal() { User user = new User(); int age = 22; user.setAge(age); List<User> users = userService.findAll(user); assertThat(users.size(), Matchers.greaterThan(0)); for (User user2 : users) { assertThat(user2.getAge(), equalTo(age)); } } @Test public void testArray() { User user = new User(); Integer[] ageArray = new Integer[] {22, 23, 25}; List<Integer> ageList = Arrays.asList(ageArray); user.setAgeArray(ageArray); List<User> users = userService.findAll(user); assertThat(users.size(), Matchers.greaterThan(0)); for (User user2 : users) { Assert.assertTrue(ageList.contains(user2.getAge())); } }
歡迎討論分享
取名:聖祖雅各伯第五子,丹