Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MaxKey单点登录官方(MaxKeyTop)
Mybatis Jpa Extra
提交
7f17a04c
M
Mybatis Jpa Extra
项目概览
MaxKey单点登录官方(MaxKeyTop)
/
Mybatis Jpa Extra
9 个月 前同步成功
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
Mybatis Jpa Extra
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
7f17a04c
编写于
8月 16, 2022
作者:
M
MaxKey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
readme update
上级
d735c395
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
42 addition
and
67 deletion
+42
-67
README.md
README.md
+38
-62
mybatis-jpa-extra-core/src/test/java/org/apache/mybatis/jpa/test/MyBatisTestRunner.java
...t/java/org/apache/mybatis/jpa/test/MyBatisTestRunner.java
+4
-5
未找到文件。
README.md
浏览文件 @
7f17a04c
...
@@ -5,11 +5,13 @@
...
@@ -5,11 +5,13 @@
2.
用Interceptor实现数据库
**SELECT分页查询**
;
2.
用Interceptor实现数据库
**SELECT分页查询**
;
3.
提供mybatis-jpa-extra-spring-boot-starter,
**简化SpringBoot集成**
;
3.
**链式**
Query查询条件构造器
;
## 1、JavaBean注释简单
4.
提供starter,
**简化SpringBoot集成**
;
仅有6个注释
## 1、JPA 2.1注释
仅支持6个注释
> * @Entity
> * @Entity
> * @Table
> * @Table
> * @Column
> * @Column
...
@@ -17,8 +19,9 @@
...
@@ -17,8 +19,9 @@
> * @GeneratedValue
> * @GeneratedValue
> * @Transient
> * @Transient
主键策略
@GeneratedValue有4中
策略
支持3种主键策略,4种AUTO自动主键
策略
1.
**AUTO**
1.
**AUTO**
...
@@ -38,22 +41,13 @@
...
@@ -38,22 +41,13 @@
generator无,根据数据库自动生成方式
generator无,根据数据库自动生成方式
## 1、JavaBean JPA注释
```
java
```
java
package
org.apache.mybatis.jpa.test.entity
;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.GenerationType
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
org.apache.mybatis.jpa.persistence.JpaBaseEntity
;
@Entity
@Entity
@Table
(
name
=
"STUDENTS"
)
@Table
(
name
=
"STUDENTS"
)
public
class
Students
extends
JpaBaseEntity
implements
Serializable
{
public
class
Students
extends
JpaBaseEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
6928570405840778151L
;
@Id
@Id
@Column
@Column
...
@@ -93,30 +87,10 @@ public class Students extends JpaBaseEntity implements Serializable{
...
@@ -93,30 +87,10 @@ public class Students extends JpaBaseEntity implements Serializable{
}
}
```
```
## 2、
单表新增、修改、删除、查询、
分页查询
## 2、
CURD、Qruey构造器查询和
分页查询
```
java
```
java
package
org.apache.mybatis.jpa.test
;
//新增数据
import
java.sql.Types
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
org.apache.mybatis.jpa.test.dao.service.StudentsService
;
import
org.apache.mybatis.jpa.test.entity.Students
;
import
org.apache.mybatis.jpa.util.WebContext
;
import
org.junit.Before
;
import
org.junit.Test
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.context.ApplicationContext
;
import
org.springframework.context.support.ClassPathXmlApplicationContext
;
public
class
MyBatisTestRunner
{
private
static
final
Logger
_logger
=
LoggerFactory
.
getLogger
(
MyBatisTestRunner
.
class
);
public
static
ApplicationContext
context
;
public
static
StudentsService
service
;
@Test
@Test
public
void
insert
()
throws
Exception
{
public
void
insert
()
throws
Exception
{
_logger
.
info
(
"insert..."
);
_logger
.
info
(
"insert..."
);
...
@@ -135,6 +109,7 @@ public class MyBatisTestRunner {
...
@@ -135,6 +109,7 @@ public class MyBatisTestRunner {
//service.remove(student.getId());
//service.remove(student.getId());
}
}
//根据实体查询并更新
@Test
@Test
public
void
merge
()
throws
Exception
{
public
void
merge
()
throws
Exception
{
_logger
.
info
(
"merge..."
);
_logger
.
info
(
"merge..."
);
...
@@ -152,6 +127,7 @@ public class MyBatisTestRunner {
...
@@ -152,6 +127,7 @@ public class MyBatisTestRunner {
_logger
.
info
(
"insert id "
+
student
.
getId
());
_logger
.
info
(
"insert id "
+
student
.
getId
());
}
}
//springJDBC 的查询方式
@Test
@Test
public
void
find
()
throws
Exception
{
public
void
find
()
throws
Exception
{
_logger
.
info
(
"find..."
);
_logger
.
info
(
"find..."
);
...
@@ -168,6 +144,7 @@ public class MyBatisTestRunner {
...
@@ -168,6 +144,7 @@ public class MyBatisTestRunner {
);
);
}
}
//根据ID查询
@Test
@Test
public
void
get
()
throws
Exception
{
public
void
get
()
throws
Exception
{
_logger
.
info
(
"get..."
);
_logger
.
info
(
"get..."
);
...
@@ -176,6 +153,7 @@ public class MyBatisTestRunner {
...
@@ -176,6 +153,7 @@ public class MyBatisTestRunner {
_logger
.
info
(
"Students "
+
student
);
_logger
.
info
(
"Students "
+
student
);
}
}
//查询数据实体并更新
@Test
@Test
public
void
update
()
throws
Exception
{
public
void
update
()
throws
Exception
{
_logger
.
info
(
"get..."
);
_logger
.
info
(
"get..."
);
...
@@ -192,6 +170,7 @@ public class MyBatisTestRunner {
...
@@ -192,6 +170,7 @@ public class MyBatisTestRunner {
_logger
.
info
(
"updateed2."
);
_logger
.
info
(
"updateed2."
);
}
}
//根据ID删除
@Test
@Test
public
void
remove
()
throws
Exception
{
public
void
remove
()
throws
Exception
{
_logger
.
info
(
"remove..."
);
_logger
.
info
(
"remove..."
);
...
@@ -200,6 +179,7 @@ public class MyBatisTestRunner {
...
@@ -200,6 +179,7 @@ public class MyBatisTestRunner {
service
.
remove
(
student
.
getId
());
service
.
remove
(
student
.
getId
());
}
}
//根据ID集合批量删除
@Test
@Test
public
void
batchDelete
()
throws
Exception
{
public
void
batchDelete
()
throws
Exception
{
_logger
.
info
(
"batchDelete..."
);
_logger
.
info
(
"batchDelete..."
);
...
@@ -211,6 +191,7 @@ public class MyBatisTestRunner {
...
@@ -211,6 +191,7 @@ public class MyBatisTestRunner {
service
.
deleteBatch
(
idList
);
service
.
deleteBatch
(
idList
);
}
}
//根据ID批量逻辑删除
@Test
@Test
public
void
logicDelete
()
throws
Exception
{
public
void
logicDelete
()
throws
Exception
{
_logger
.
info
(
"logicDelete..."
);
_logger
.
info
(
"logicDelete..."
);
...
@@ -221,7 +202,8 @@ public class MyBatisTestRunner {
...
@@ -221,7 +202,8 @@ public class MyBatisTestRunner {
idList
.
add
(
"dafd5ba4-d2e3-4656-bd42-178841e610fe"
);
idList
.
add
(
"dafd5ba4-d2e3-4656-bd42-178841e610fe"
);
service
.
logicDelete
(
idList
);
service
.
logicDelete
(
idList
);
}
}
//根据ID批量删除
@Test
@Test
public
void
batchDeleteByIds
()
throws
Exception
{
public
void
batchDeleteByIds
()
throws
Exception
{
_logger
.
info
(
"batchDeleteByIds..."
);
_logger
.
info
(
"batchDeleteByIds..."
);
...
@@ -229,6 +211,7 @@ public class MyBatisTestRunner {
...
@@ -229,6 +211,7 @@ public class MyBatisTestRunner {
service
.
deleteBatch
(
"2,639178432667713536"
);
service
.
deleteBatch
(
"2,639178432667713536"
);
}
}
//分页查询
@Test
@Test
public
void
queryPageResults
()
throws
Exception
{
public
void
queryPageResults
()
throws
Exception
{
_logger
.
info
(
"queryPageResults..."
);
_logger
.
info
(
"queryPageResults..."
);
...
@@ -245,7 +228,8 @@ public class MyBatisTestRunner {
...
@@ -245,7 +228,8 @@ public class MyBatisTestRunner {
_logger
.
info
(
"Students "
+
s
);
_logger
.
info
(
"Students "
+
s
);
}
}
}
}
//mapper id分页查询
@Test
@Test
public
void
queryPageResultsByMapperId
()
throws
Exception
{
public
void
queryPageResultsByMapperId
()
throws
Exception
{
_logger
.
info
(
"queryPageResults by mapperId..."
);
_logger
.
info
(
"queryPageResults by mapperId..."
);
...
@@ -260,7 +244,7 @@ public class MyBatisTestRunner {
...
@@ -260,7 +244,7 @@ public class MyBatisTestRunner {
_logger
.
info
(
"Students "
+
s
);
_logger
.
info
(
"Students "
+
s
);
}
}
}
}
//根据实体查询
@Test
@Test
public
void
query
()
throws
Exception
{
public
void
query
()
throws
Exception
{
_logger
.
info
(
"findAll..."
);
_logger
.
info
(
"findAll..."
);
...
@@ -269,7 +253,21 @@ public class MyBatisTestRunner {
...
@@ -269,7 +253,21 @@ public class MyBatisTestRunner {
_logger
.
info
(
"Students "
+
s
);
_logger
.
info
(
"Students "
+
s
);
}
}
}
}
//根据链式条件构造器查询
//WHERE (stdMajor = '政治' and STDAGE > 30 and stdMajor in ( '政治' , '化学' ) or ( stdname = '周瑜' or stdname = '吕蒙' ) )
@Test
public
void
queryByQuery
()
throws
Exception
{
_logger
.
info
(
"find..."
);
List
<
Students
>
allListStudents
=
service
.
query
(
new
Query
().
eq
(
"stdMajor"
,
"政治"
).
and
().
gt
(
"STDAGE"
,
30
).
and
().
in
(
"stdMajor"
,
new
Object
[]{
"政治"
,
"化学"
})
.
or
(
new
Query
().
eq
(
"stdname"
,
"周瑜"
).
or
().
eq
(
"stdname"
,
"吕蒙"
)));
for
(
Students
s
:
allListStudents
)
{
_logger
.
info
(
"Students "
+
s
);
}
}
//查询所有记录
@Test
@Test
public
void
findAll
()
throws
Exception
{
public
void
findAll
()
throws
Exception
{
_logger
.
info
(
"findAll..."
);
_logger
.
info
(
"findAll..."
);
...
@@ -279,29 +277,7 @@ public class MyBatisTestRunner {
...
@@ -279,29 +277,7 @@ public class MyBatisTestRunner {
}
}
}
}
@Before
//...
public
void
initSpringContext
(){
if
(
context
!=
null
)
return
;
_logger
.
info
(
"init Spring Context..."
);
SimpleDateFormat
sdf_ymdhms
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
startTime
=
sdf_ymdhms
.
format
(
new
Date
());
try
{
MyBatisTestRunner
runner
=
new
MyBatisTestRunner
();
runner
.
init
();
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
_logger
.
info
(
"-- --Init Start at "
+
startTime
+
" , End at "
+
sdf_ymdhms
.
format
(
new
Date
()));
}
//Initialization ApplicationContext for Project
public
void
init
(){
_logger
.
info
(
"Application dir "
+
System
.
getProperty
(
"user.dir"
));
context
=
new
ClassPathXmlApplicationContext
(
new
String
[]
{
"spring/applicationContext.xml"
});
WebContext
.
applicationContext
=
context
;
service
=(
StudentsService
)
WebContext
.
getBean
(
"studentsService"
);
}
}
```
```
## 3、映射文件配置
## 3、映射文件配置
...
...
mybatis-jpa-extra-core/src/test/java/org/apache/mybatis/jpa/test/MyBatisTestRunner.java
浏览文件 @
7f17a04c
...
@@ -120,9 +120,7 @@ public class MyBatisTestRunner {
...
@@ -120,9 +120,7 @@ public class MyBatisTestRunner {
@Test
@Test
public
void
remove
()
throws
Exception
{
public
void
remove
()
throws
Exception
{
_logger
.
info
(
"remove..."
);
_logger
.
info
(
"remove..."
);
Students
student
=
new
Students
();
service
.
remove
(
"921d3377-937a-4578-b1e2-92fb23b5e512"
);
student
.
setId
(
"921d3377-937a-4578-b1e2-92fb23b5e512"
);
service
.
remove
(
student
.
getId
());
}
}
@Test
@Test
...
@@ -190,7 +188,7 @@ public class MyBatisTestRunner {
...
@@ -190,7 +188,7 @@ public class MyBatisTestRunner {
}
}
@Test
@Test
public
void
query
ByEntity
()
throws
Exception
{
public
void
query
()
throws
Exception
{
_logger
.
info
(
"find..."
);
_logger
.
info
(
"find..."
);
List
<
Students
>
allListStudents
=
service
.
query
(
new
Students
(
"10024"
));
List
<
Students
>
allListStudents
=
service
.
query
(
new
Students
(
"10024"
));
for
(
Students
s
:
allListStudents
)
{
for
(
Students
s
:
allListStudents
)
{
...
@@ -198,12 +196,13 @@ public class MyBatisTestRunner {
...
@@ -198,12 +196,13 @@ public class MyBatisTestRunner {
}
}
}
}
//WHERE (stdMajor = '政治' and STDAGE > 30 and stdMajor in ( '政治' , '化学' ) or ( stdname = '周瑜' or stdname = '吕蒙' ) )
@Test
@Test
public
void
queryByQuery
()
throws
Exception
{
public
void
queryByQuery
()
throws
Exception
{
_logger
.
info
(
"find..."
);
_logger
.
info
(
"find..."
);
List
<
Students
>
allListStudents
=
service
.
query
(
List
<
Students
>
allListStudents
=
service
.
query
(
new
Query
().
eq
(
"stdMajor"
,
"政治"
).
and
().
gt
(
"STDAGE"
,
30
).
and
().
in
(
"stdMajor"
,
new
Object
[]{
"政治"
,
"化学"
})
new
Query
().
eq
(
"stdMajor"
,
"政治"
).
and
().
gt
(
"STDAGE"
,
30
).
and
().
in
(
"stdMajor"
,
new
Object
[]{
"政治"
,
"化学"
})
.
or
(
new
Query
().
eq
(
"stdname"
,
"周瑜"
)));
.
or
(
new
Query
().
eq
(
"stdname"
,
"周瑜"
)
.
or
().
eq
(
"stdname"
,
"吕蒙"
)
));
for
(
Students
s
:
allListStudents
)
{
for
(
Students
s
:
allListStudents
)
{
_logger
.
info
(
"Students "
+
s
);
_logger
.
info
(
"Students "
+
s
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录