6
6
7
7
##优点?
8
8
9
- 本项目支持两种类型的通用Mapper,这两种Mapper都可以极大的方便开发人员 。
9
+ 通用Mapper都可以极大的方便开发人员。可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方法 。
10
10
11
- 为了让您更方便的了解这两种通用Mapper,这里分别贴一段代码来看实际效果 。
11
+ 为了让您更方便的了解这通用Mapper,这里贴一段代码来看实际效果 。
12
12
13
13
##通用Mapper
14
14
15
- 这是本项目提供的第一种通用Mapper,优点是可以缓存, 全部针对单表操作,每个实体类都需要继承通用Mapper接口来获得通用方法。
15
+ 全部针对单表操作,每个实体类都需要继承通用Mapper接口来获得通用方法。
16
16
17
17
示例代码:
18
18
@@ -41,30 +41,6 @@ CountryMapper代码如下:
41
41
42
42
这里不说更具体的内容,如果您有兴趣,可以查看下面的<b >项目文档</b >
43
43
44
- ##EntityMapper
45
-
46
- 这是第二种通用Mapper,EntityMapper可以像Hibernate的session一样操纵全部的实体类,由于可以操纵全部实体,因此不能使用二级缓存。EntityMapper支持通用的Example查询和MGB生成的Example查询。
47
-
48
- 示例代码:
49
-
50
- //获取CommonMapper,继而包装成EntityMapper
51
- CommonMapper commonMapper = sqlSession.getMapper(CommonMapper.class);
52
- EntityMapper entityMapper = new EntityMapper(commonMapper);
53
- //通用Example查询
54
- Example example = new Example(Country.class);
55
- //id > 100 && id <= 150
56
- example.createCriteria().andGreaterThan("id", 100).andLessThanOrEqualTo("id", 150);
57
- //查询总数
58
- int count = entityMapper.countByExample(example);
59
- Assert.assertEquals(50, count);
60
-
61
- example = new Example(Country.class);
62
- //countryname like 'A%'
63
- example.createCriteria().andLike("countryname", "A%");
64
- //查询总数
65
- count = entityMapper.countByExample(example);
66
- Assert.assertEquals(12, count);
67
-
68
44
##实体类注解
69
45
70
46
从上面效果来看也能感觉出这是一种类似hibernate的用法,因此也需要实体和表对应起来,因此使用了JPA注解。更详细的内容可以看下面的<b >项目文档</b >。
@@ -88,56 +64,17 @@ Country代码:
88
64
89
65
##Maven坐标以及下载地址
90
66
91
- ###最新版本2.3.4 - 2015-06-01
92
-
93
- * 高并发时selectKey会产生异常,解决[ #32 ] ( http://git.oschina.net/free/Mapper/issues/32 )
94
-
95
- * 兼容MyBatis3.3.0版本
96
-
97
- * <b >提前预告:下个版本3.0.0会将通用Mapper项目拆分为两个项目,会有一些大的改动</b >
98
-
99
- ###最新版本2.3.3 - 2015-05-14
100
-
101
- * 解决Example查询中的` and ` 缺少空格的问题
102
-
103
- * 去掉UUID和JDBC两种主键策略类型中对字段类型的限制
104
- 不再限制为` String ` ,可以是任意简单类型,需要自己保证类型匹配。例如UUID配置的策略可以返回` Integer ` ,那么字段类型必须是` Integer ` 。
105
-
106
- * JDBC类型的主键策略可以配置多个,就相当于` keyProperties="id1,id2..." `
107
-
108
- * ` EntityHelper ` 的` getOrderByClause ` 方法返回值从` StringBuilder ` 改为` String ` ,解决` @OrderBy ` 注解时的异常
109
-
110
- * <b >提前预告:下个版本3.0.0会将通用Mapper项目拆分为两个项目,会有一些大的改动</b >
111
-
112
- ###2 .3.2 - 2015-04-21
113
-
114
- * 解决Example查询中in,notin无效的bug[ #24 ] ( http://git.oschina.net/free/Mapper/issues/24 )
67
+ ###最新版本3.0.0 - 2015-06-xx
115
68
116
- ###2 .3.1 - 2015-04-13
117
-
118
- * 完善所有和PrimaryKey有关的通用查询
119
-
120
- * 修复Mapper<T >接口中update操作会更新主键的bug
121
-
122
- * 修复Mapper<T >接口中使用Example查询的时候,影响美观
123
-
124
- * MBG插件增加caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true
125
-
126
- ###2 .3.0 - 2015-04-05
127
-
128
- * Mapper接口和EntityMapper都增加了` selectOne ` 方法,该查询返回值最多只能有一个,存在多个时抛出异常
129
-
130
- * Mapper接口和EntityMapper中,返回List的查询方法都支持JPA的` @Orderby ` 注解。其中` Example ` 查询中的` orderby ` 会覆盖注解的` @Orderby ` 设置。
131
-
132
- * 通过实体类获取表名的时候,不对表名进行强制的大小写转换。如果数据库大小写敏感,请通过` @Table ` 注解和数据库保持一致。
69
+ * 大量变化
133
70
134
71
如果你使用Maven,只需要添加如下依赖:
135
72
136
73
``` xml
137
74
<dependency >
138
75
<groupId >com.github.abel533</groupId >
139
76
<artifactId >mapper</artifactId >
140
- <version >2.3.4 </version >
77
+ <version >3.0.0 </version >
141
78
</dependency >
142
79
```
143
80
@@ -153,7 +90,15 @@ http://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/
153
90
154
91
##项目文档
155
92
156
- ###通用Mapper
93
+ ###通用Mapper 3.x.x
94
+
95
+ 1 . [ Mapper3变化] ( )
96
+
97
+ 2 . [ Mapper随意搭配通用接口] ( )
98
+
99
+ 3 . [ 快速开发自己的通用接口] ( )
100
+
101
+ ###通用Mapper 2.x.x
157
102
158
103
1 . [ 如何集成通用Mapper] ( http://git.oschina.net/free/Mapper/blob/master/wiki/mapper/1.Integration.md )
159
104
@@ -165,18 +110,6 @@ http://repo1.maven.org/maven2/javax/persistence/persistence-api/1.0/
165
110
166
111
5 . [ 如何使用Mapper专用的MyBatis Generator插件] ( http://git.oschina.net/free/Mapper/blob/master/wiki/mapper/5.UseMBG.md )
167
112
168
- ###EntityMapper(单一Mapper操作全部实体)
169
-
170
- 1 . [ 如何集成EntityMapper] ( http://git.oschina.net/free/Mapper/blob/master/wiki/entity/1.Integration.md )
171
-
172
- 2 . [ 如何使用EntityMapper] ( http://git.oschina.net/free/Mapper/blob/master/wiki/entity/2.Use.md )
173
-
174
- 3 . [ 如何使用Mapper专用的MyBatis Generator插件] ( http://git.oschina.net/free/Mapper/blob/master/wiki/mapper/5.UseMBG.md )
175
-
176
- ###如何使用SqlMapper
177
-
178
- 1 . [ 如何使用SqlMapper] ( http://git.oschina.net/free/Mapper/blob/master/wiki/UseSqlMapper.md )
179
-
180
113
##作者信息
181
114
182
115
作者博客:http://blog.csdn.net/isea533
0 commit comments