Java輕量級類隔離框架 SOFAArk Project v2.3.0
42.5MB / 01-19
SpringBlade微服務(wù)開發(fā)平臺 v4.4.0
197KB / 01-30
Diboot輕代碼開發(fā)平臺 v2.11.0
1.3MB / 07-20
RuoYi-activiti工作流平臺源碼 v4.1
24.79MB / 07-19
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9
4.12MB / 06-28
Java Struts2漏洞復(fù)現(xiàn)工具
98KB / 06-26
java操作excel的jar包(jxl.jar包 源碼)
610KB / 06-26
springboot整合QuartJob實現(xiàn)定時器實時管理源代碼
29KB / 06-26
SOFABoot開源框架 v3.24.0
587KB / 08-31
基于SSM的應(yīng)急資源管理系統(tǒng)源碼 v1.0
80.7MB / 05-25
-
Pinpoint應(yīng)用性能管理工具 v3.0.2 java源碼 / 18.8MB
-
Presto大數(shù)據(jù)查詢引擎 v0.292 java源碼 / 10.89MB
-
-
-
Zotero文獻管理工具 v7.0.15 java源碼 / 6.8MB
-
Logstash日志管理系統(tǒng) v8.17.4 java源碼 / 18.9MB
-
Mybatis增強工具包(Mybatis plus) v3.5.11 java源碼 / 8.35MB
-
Mall4j商城系統(tǒng) v3.4 java源碼 / 14.2MB
-
Exchangis輕量級數(shù)據(jù)交換平臺 v1.1.7 java源碼 / 14.2MB
-
ReactNative移動開發(fā)工具 v0.78.1 java源碼 / 12.3MB
詳情介紹
MyBatis Mapper是一個不需要任何配置就可以直接使用的通用 Mapper,通過簡單的學(xué)習(xí)就可以直接在項目中使用。
功能特點:
開箱即用,無需任何配置,繼承基類 Mapper 即可獲得大量通用方法;
隨心所欲,通過復(fù)制粘貼的方式可以組建自己的基類 Mapper;
全面貼心,提供 Service 層的封裝方便業(yè)務(wù)使用和理解 Mapper;
簡單直觀,提供 ActiveRecord 模式,結(jié)合 Spring Boot 自動配置直接上手用;
自定義方法,簡單幾行代碼即可實現(xiàn)自定義通用方法;
輕松擴展,通過 Java SPI 輕松擴展。
系統(tǒng)要求
MyBatis Mapper 要求 MyBatis 最低版本為 3.5.1,推薦使用最新版本。
和 MyBatis 框架一樣,最低需要 Java 8。
安裝
<dependencies>
<dependency>
<groupId>io.mybatis</groupId>
<artifactId>mybatis-mapper</artifactId>
<version>1.2.2</version>
</dependency>
<!-- 使用 Service 層封裝時 -->
<dependency>
<groupId>io.mybatis</groupId>
<artifactId>mybatis-service</artifactId>
<version>1.2.2</version>
</dependency>
<!-- 使用 ActiveRecord 模式時 -->
<dependency>
<groupId>io.mybatis</groupId>
<artifactId>mybatis-activerecord</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies>
dependencies {
compile("io.mybatis:mybatis-mapper:1.2.2")
// 使用 Service 層封裝時
compile("io.mybatis:mybatis-service:1.2.2")
// 使用 ActiveRecord 模式時
compile("io.mybatis:mybatis-activerecord:1.2.2")
}
快速設(shè)置
MyBatis Mapper 的基本原理是將實體類映射為數(shù)據(jù)庫中的表和字段信息,因此實體類需要通過注解配置基本的元數(shù)據(jù),配置好實體后, 只需要創(chuàng)建一個繼承基礎(chǔ)接口的 Mapper 接口就可以開始使用了。
一、實體類配置
假設(shè)有一個表:
create table user
(
id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1) PRIMARY KEY,
name VARCHAR(32) DEFAULT 'DEFAULT',
sex VARCHAR(2)
);
對應(yīng)的實體類:
import io.mybatis.provider.Entity;
@Entity.Table("user")
public class User {
@Entity.Column(id = true)
private Long id;
@Entity.Column("name")
private String username;
@Entity.Column
private String sex;//省略set和get方法
}
實體類上 必須添加 @Entity.Table 注解指定實體類對應(yīng)的表名,建議明確指定表名,不提供表名的時候,使用類名作為表名。 所有屬于表中列的字段,必須添加 @Entity.Column 注解,不指定列名時,使用字段名(不做任何轉(zhuǎn)換),通過 id=true 可以標記字段為主鍵。
@Entity 中包含的這兩個注解提供了大量的配置屬性,想要使用更多的配置,參考下面 3. @Entity 注解 的內(nèi)容, 下面是一個簡單示例:
@Entity.Table(value = "sys_user", remark = "系統(tǒng)用戶", autoResultMap = true)
public class User {
@Entity.Column(id = true, remark = "主鍵", updatable = false, insertable = false)
private Long id;
@Entity.Column(value = "name", remark = "帳號")
private String userName;
//省略其他
}
二、Mapper接口定義
有了 User 實體后,直接創(chuàng)建一個繼承了 Mapper 的接口即可:
//io.mybatis.mapper.Mapper
public interface UserMapper extends Mapper<User, Long> {}
這個接口只要被 MyBatis 掃描到即可直接使用。
下面是幾種常見的掃描配置:
1、MyBatis 自帶的配置文件方式 mybatis-config.xml:
<mappers>
<!-- 掃描指定的包 -->
<package name="com.example.mapper"/>
</mappers>
2、Spring 中的 spring.xml 配置:
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.example.mapper"/>
<property name="markerInterface" value="io.mybatis.service.mapper.RoleMarker"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactoryRole"/>
</bean>
3、Spring Boot 配置,啟動類注解方式:
@MapperScan(basePackages = "com.example.mapper")
@SpringBootApplication
public class SpringBootDemoApplication {public static void main(String[] args) {
SpringApplication.run(SpringBootDemoApplication.class, args);
}}
Spring Boot 中,還可以直接給接口添加 @org.apache.ibatis.annotations.Mapper 注解,增加注解后可以省略 @MapperScan 配置。
三、使用
定義好接口后,就可以獲取 UserMapper 使用,下面是簡單示例:
User user=new User();
user.setUserName("測試");
userMapper.insert(user);
//保存后自增id回寫,不為空
Assert.assertNotNull(user.getId());
//根據(jù)id查詢
user=userMapper.selectByPrimaryKey(user.getId());
//刪除
Assert.assertEquals(1,userMapper.deleteByPrimaryKey(user.getId()));
看到這里,可以發(fā)現(xiàn)除了 MyBatis 自身的配置外,MyBatis Mapper 只需要配置實體類注解, 創(chuàng)建對應(yīng)的 Mapper 接口就可以直接使用,沒有任何繁瑣的配置。
上面的示例只是簡單的使用了 MyBatis Mapper,還有很多開箱即用的功能沒有涉及, 建議在上述示例運行成功后,繼續(xù)查看本項目其他模塊的詳細文檔,熟悉各部分文檔后, 在使用 MyBatis Mapper 時會更得心應(yīng)手,隨心所欲。
四、wrapper 用法
在 1.2.0 版本之后,針對 Example 封裝了一個 ExampleWrapper,可以通過鏈式調(diào)用方便的使用 Example 方法。
mapper.wrapper()
.eq(User::getSex,"女")
.or(c->c.gt(User::getId,40),c->c.lt(User::getId,10))
.or()
.startsWith(User::getUserName,"張").list();
對應(yīng)的 SQL 如下:
SELECT id, name AS userName, sex
FROM user
WHERE (sex = ? AND ((id > ?) OR (id < ?)))
OR (name LIKE ?)
下載地址
人氣源碼
若依后臺管理系統(tǒng) RuoYi v4.7.8
CryptoJS加密庫(crypto.js) v4.2.0
JetLinks開源物聯(lián)網(wǎng)平臺源碼 v2.2.0
Jeepay開源支付系統(tǒng) v2.4.0
JSH_ERP 開源版J2EE進銷存系統(tǒng)代碼源碼 v1.0.2
QQ 聊天機器人小薇(XiaoV) v2.2.2
ECharts JavaScript圖表庫 v5.6.0
因酷時代(inxedu)在線教育系統(tǒng) V2.0.6
Javashop B2C開源電商系統(tǒng) v6.3.2
iBizEAM開源設(shè)備資產(chǎn)管理系統(tǒng)源碼 v1.0
相關(guān)文章
-
Java輕量級類隔離框架 SOFAArk Project v2.3.0
SOFAArk 是一款基于 Java 實現(xiàn)的動態(tài)熱部署和輕量級類隔離框架,由螞蟻集團開源貢獻,主要提供應(yīng)用模塊的動態(tài)熱部署和類隔離能力。歡迎需要的朋友下載使用...
-
SpringBlade微服務(wù)開發(fā)平臺 v4.4.0
SpringBlade 是一個由商業(yè)級項目升級優(yōu)化而來的SpringCloud分布式微服務(wù)架構(gòu)、SpringBoot單體式微服務(wù)架構(gòu)并存的綜合型項目,采用Java8 API重構(gòu)了業(yè)務(wù)代碼,完全遵循阿里巴...
-
Diboot輕代碼開發(fā)平臺 v2.11.0
Diboot輕代碼開發(fā)平臺是一個面向開發(fā)人員的低代碼開發(fā)平臺,將重復(fù)性的工作自動化,提高質(zhì)量、效率、可維護性...
-
RuoYi-activiti工作流平臺源碼 v4.1
RuoYi-activiti是一款以若依開源權(quán)限管理系統(tǒng)為基礎(chǔ)開發(fā)平臺并集成了activiti框架完成的工作流系統(tǒng),旨在打造集流程設(shè)計、流程部署、流程執(zhí)行、任務(wù)辦理、流程監(jiān)控于一體的...
-
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9
RuoYi若依權(quán)限管理系統(tǒng)是一個基于SpringBoot的權(quán)限管理系統(tǒng),代碼易讀易懂、界面簡潔美觀, 核心技術(shù)采用Spring、MyBatis、Shiro沒有任何其它重度依賴,喜歡的朋友快來下載...
-
Java Struts2漏洞復(fù)現(xiàn)工具
今天給大家分享Java Struts2漏洞復(fù)現(xiàn)工具,喜歡的朋友快來下載體驗吧...
-
java操作excel的jar包(jxl.jar包 源碼)
jxl.jar是通過java操作excel表格的工具類庫,能夠修飾單元格屬性,是由java語言開發(fā)而成的,接下來通過本文給大家介紹java操作excel的jar包(jxl.jar包 源碼),喜歡的朋友快...
-
springboot整合QuartJob實現(xiàn)定時器實時管理源代碼
Quartz是一個完全由java編寫的開源作業(yè)調(diào)度框架,形式簡易,功能強大,,下面給大家分享springboot整合QuartJob實現(xiàn)定時器實時管理源代碼,感興趣的朋友快來下載體驗吧...
-
SOFABoot開源框架 v3.24.0
SOFABoot 是螞蟻集團開源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎(chǔ)上,提供了諸如 Readiness Check,上下文隔離,類隔離,日志空間隔離等等能力...
-
基于SSM的應(yīng)急資源管理系統(tǒng)源碼 v1.0
應(yīng)急資源管理系統(tǒng)用的是是比較流行的SSM和前端JSP技術(shù),用它來創(chuàng)建使用腳本語言,結(jié)合HTML代碼來制作動態(tài) 網(wǎng)頁,歡迎需要的朋友下載使用...
下載聲明
☉ 解壓密碼:www.dbjr.com.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個軟件總是不能下載的請在評論中留言,我們會盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請過一段時間重試!或者多試試幾個下載地址
☉ 如果遇到什么問題,請評論留言,我們定會解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請購買正版。
☉ 本站提供的MyBatis Mapper v2.2.2資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。