diff --git a/README.md b/README.md index 8648d6a2aaa7c1ef50eb350ac30e72c3f0f5e4b6..ab1004b76071d5b526b5420340b1168a53344754 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ **MyBatis JPA Extra**对MyBatis扩展JPA功能 1.Jakarta JPA 3注释**简化CUID操作**; - + 2.Interceptor实现数据库**SELECT分页查询**; - + 3.**链式**Query查询条件构造器; 4.提供starter,**简化SpringBoot集成**; @@ -40,33 +40,33 @@ @Entity @Table(name = "STUDENTS") public class Students extends JpaEntity implements Serializable{ - @Id - @Column - @GeneratedValue - private String id; - @Column - private String stdNo; - @Column - private String stdName; - @Column - @ColumnDefault("'M'") - private String stdGender; - @Column - private int stdAge; - @Column - private String stdMajor; - @Column - private String stdClass; - @Column - private byte[] images; - @Column(insertable = false) - @GeneratedValue - @Temporal(TemporalType.TIMESTAMP) + @Id + @Column + @GeneratedValue + private String id; + @Column + private String stdNo; + @Column + private String stdName; + @Column + @ColumnDefault("'M'") + private String stdGender; + @Column + private int stdAge; + @Column + private String stdMajor; + @Column + private String stdClass; + @Column + private byte[] images; + @Column(insertable = false) + @GeneratedValue + @Temporal(TemporalType.TIMESTAMP) private LocalDateTime modifyDate; - @ColumnLogic - @Column(name ="is_deleted") - private int isDeleted; - //getter setter + @ColumnLogic + @Column(name ="is_deleted") + private int isDeleted; + //getter setter } ``` ## 2、基本操作 @@ -74,64 +74,64 @@ public class Students extends JpaEntity implements Serializable{ ## 2.1、CURD ```java - //新增数据 - @Test - void insert() throws Exception{ - Students student = new Students(); - student.setStdNo("10024"); - student.setStdGender("M"); - student.setStdName("司马昭"); - student.setStdAge(20); - student.setStdMajor("政治"); - student.setStdClass("4"); - service.insert(student); - } - //查询数据实体并更新 - @Test - void update() throws Exception{ - Students student = service.get("317d5eda-927c-4871-a916-472a8062df23"); - student.setStdMajor("政治"); - service.update(student); - } - //根据实体查询并更新 - @Test - void merge() throws Exception{ - Students student = new Students(); - student.setStdMajor("政治"); - student.setStdClass("4"); - service.merge(student); - } - //根据ID查询 - @Test - void get() throws Exception{ - Students student = service.get("317d5eda-927c-4871-a916-472a8062df23"); - } - //根据实体查询 - @Test - void query() throws Exception{ - Students student = new Students(); - student.setStdGender("M"); - List listStudents = service.query(student); - } - //查询所有记录 - @Test - void findAll() throws Exception{ - List listStudents = service.findAll(); - } - //根据ID删除 - @Test - void remove() throws Exception{ - service.remove("921d3377-937a-4578-b1e2-92fb23b5e512"); - } - //根据ID集合批量删除 - @Test - void batchDelete() throws Exception{ - List idList = new ArrayList(); - idList.add("8584804d-b5ac-45d2-9f91-4dd8e7a090a7"); - idList.add("ab7422e9-a91a-4840-9e59-9d911257c918"); - //... - service.deleteBatch(idList); - } + //新增数据 + @Test + void insert() throws Exception{ + Students student = new Students(); + student.setStdNo("10024"); + student.setStdGender("M"); + student.setStdName("司马昭"); + student.setStdAge(20); + student.setStdMajor("政治"); + student.setStdClass("4"); + service.insert(student); + } + //查询数据实体并更新 + @Test + void update() throws Exception{ + Students student = service.get("317d5eda-927c-4871-a916-472a8062df23"); + student.setStdMajor("政治"); + service.update(student); + } + //根据实体查询并更新 + @Test + void merge() throws Exception{ + Students student = new Students(); + student.setStdMajor("政治"); + student.setStdClass("4"); + service.merge(student); + } + //根据ID查询 + @Test + void get() throws Exception{ + Students student = service.get("317d5eda-927c-4871-a916-472a8062df23"); + } + //根据实体查询 + @Test + void query() throws Exception{ + Students student = new Students(); + student.setStdGender("M"); + List listStudents = service.query(student); + } + //查询所有记录 + @Test + void findAll() throws Exception{ + List listStudents = service.findAll(); + } + //根据ID删除 + @Test + void remove() throws Exception{ + service.remove("921d3377-937a-4578-b1e2-92fb23b5e512"); + } + //根据ID集合批量删除 + @Test + void batchDelete() throws Exception{ + List idList = new ArrayList(); + idList.add("8584804d-b5ac-45d2-9f91-4dd8e7a090a7"); + idList.add("ab7422e9-a91a-4840-9e59-9d911257c918"); + //... + service.deleteBatch(idList); + } //根据ID批量删除 @Test void batchDeleteByIds() throws Exception{ @@ -142,47 +142,47 @@ public class Students extends JpaEntity implements Serializable{ ## 2.2、逻辑删除 ```java //根据ID删除或者ID字符串分隔符,批量逻辑删除 - @Test - void logicDelete() throws Exception{ - service.logicDelete("2"); - service.logicDelete("2,639178432667713536"); - } - //根据IDS批量逻辑删除 - @Test - void logicBatchDelete() throws Exception{ - List idList=new ArrayList(); - idList.add("8584804d-b5ac-45d2-9f91-4dd8e7a090a7"); - idList.add("ab7422e9-a91a-4840-9e59-9d911257c918"); - //... - service.logicDelete(idList); - } - //根据IDS字符串和分割符批量逻辑删除 - @Test - void logicDeleteSplit() throws Exception{ - service.logicDeleteSplit("2,639178432667713536",","); - } + @Test + void logicDelete() throws Exception{ + service.logicDelete("2"); + service.logicDelete("2,639178432667713536"); + } + //根据IDS批量逻辑删除 + @Test + void logicBatchDelete() throws Exception{ + List idList=new ArrayList(); + idList.add("8584804d-b5ac-45d2-9f91-4dd8e7a090a7"); + idList.add("ab7422e9-a91a-4840-9e59-9d911257c918"); + //... + service.logicDelete(idList); + } + //根据IDS字符串和分割符批量逻辑删除 + @Test + void logicDeleteSplit() throws Exception{ + service.logicDeleteSplit("2,639178432667713536",","); + } ``` ## 2.3、Find查询和Qruey构造器 ```java - //SpringJDBC的查询方式 where StdNo = '10024' or StdNo = '10004' - @Test - void find() throws Exception{ - List listStudents = service.find(" StdNo = ? or StdNo = ? ", - new Object[]{"10024","10004"}, - new int[]{Types.VARCHAR,Types.INTEGER} - ); - } - //根据链式条件构造器查询 - //WHERE (stdMajor = '政治' and STDAGE > 30 and stdMajor in ( '政治' , '化学' ) or ( stdname = '周瑜' or stdname = '吕蒙' ) ) - @Test - void queryByCondition() throws Exception{ - List listStudents = service.query( - new Query().eq("stdMajor", "政治").and().gt("STDAGE", 30).and().in("stdMajor", new Object[]{"政治","化学"}) - .or(new Query().eq("stdname", "周瑜").or().eq("stdname", "吕蒙"))); - } + //SpringJDBC的查询方式 where StdNo = '10024' or StdNo = '10004' + @Test + void find() throws Exception{ + List listStudents = service.find(" StdNo = ? or StdNo = ? ", + new Object[]{"10024","10004"}, + new int[]{Types.VARCHAR,Types.INTEGER} + ); + } + //根据链式条件构造器查询 + //WHERE (stdMajor = '政治' and STDAGE > 30 and stdMajor in ( '政治' , '化学' ) or ( stdname = '周瑜' or stdname = '吕蒙' ) ) + @Test + void queryByCondition() throws Exception{ + List listStudents = service.query( + new Query().eq("stdMajor", "政治").and().gt("STDAGE", 30).and().in("stdMajor", new Object[]{"政治","化学"}) + .or(new Query().eq("stdname", "周瑜").or().eq("stdname", "吕蒙"))); + } ``` ## 2.4、单表分页查询 @@ -216,7 +216,7 @@ public class Students extends JpaEntity implements Serializable{ @Test void fetchPageResults() throws Exception{ Students student=new Students(); - student.setStdGender("M"); + student.setStdGender("M"); student.setPageSize(10); student.calculate(21); JpaPageResults results = service.fetchPageResults(student); @@ -236,63 +236,63 @@ public class Students extends JpaEntity implements Serializable{ ```xml - - WHERE 1 = 1 - - AND ID = '${id}' - - - AND STDNAME like '%${stdName}%' - - - AND STDGENDER = #{stdGender} - - - - - - + + WHERE 1 = 1 + + AND ID = '${id}' + + + AND STDNAME like '%${stdName}%' + + + AND STDGENDER = #{stdGender} + + + + + + - DELETE FROM STUDENTS WHERE ID=#{id} + DELETE FROM STUDENTS WHERE ID=#{id} ```