Java輕量級(jí)類隔離框架 SOFAArk Project v2.3.042.5MB / 01-19
SpringBlade微服務(wù)開發(fā)平臺(tái) v4.4.0197KB / 01-30
Diboot輕代碼開發(fā)平臺(tái) v2.11.01.3MB / 07-20
RuoYi-activiti工作流平臺(tái)源碼 v4.124.79MB / 07-19
RuoYi若依權(quán)限管理系統(tǒng) v4.7.94.12MB / 06-28
Java Struts2漏洞復(fù)現(xiàn)工具98KB / 06-26
java操作excel的jar包(jxl.jar包 源碼)610KB / 06-26
springboot整合QuartJob實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理源代碼29KB / 06-26
SOFABoot開源框架 v3.24.0587KB / 08-31
基于SSM的應(yīng)急資源管理系統(tǒng)源碼 v1.080.7MB / 05-25
-
Pinpoint應(yīng)用性能管理工具 v3.0.2 java源碼 / 18.8MB
-
Presto大數(shù)據(jù)查詢引擎 v0.292 java源碼 / 10.89MB
-
-
-
Zotero文獻(xiàn)管理工具 v7.0.15 java源碼 / 6.8MB
-
Logstash日志管理系統(tǒng) v8.17.4 java源碼 / 18.9MB
-
-
Mall4j商城系統(tǒng) v3.4 java源碼 / 14.2MB
-
-
詳情介紹
MyBatis Mapper是一個(gè)不需要任何配置就可以直接使用的通用 Mapper,通過簡(jiǎn)單的學(xué)習(xí)就可以直接在項(xiàng)目中使用。
功能特點(diǎn):
開箱即用,無需任何配置,繼承基類 Mapper 即可獲得大量通用方法;
隨心所欲,通過復(fù)制粘貼的方式可以組建自己的基類 Mapper;
全面貼心,提供 Service 層的封裝方便業(yè)務(wù)使用和理解 Mapper;
簡(jiǎn)單直觀,提供 ActiveRecord 模式,結(jié)合 Spring Boot 自動(dòng)配置直接上手用;
自定義方法,簡(jiǎn)單幾行代碼即可實(shí)現(xiàn)自定義通用方法;
輕松擴(kuò)展,通過 Java SPI 輕松擴(kuò)展。
系統(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 層封裝時(shí) -->
<dependency>
<groupId>io.mybatis</groupId>
<artifactId>mybatis-service</artifactId>
<version>1.2.2</version>
</dependency>
<!-- 使用 ActiveRecord 模式時(shí) -->
<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 層封裝時(shí)
compile("io.mybatis:mybatis-service:1.2.2")
// 使用 ActiveRecord 模式時(shí)
compile("io.mybatis:mybatis-activerecord:1.2.2")
}
快速設(shè)置
MyBatis Mapper 的基本原理是將實(shí)體類映射為數(shù)據(jù)庫中的表和字段信息,因此實(shí)體類需要通過注解配置基本的元數(shù)據(jù),配置好實(shí)體后, 只需要?jiǎng)?chuàng)建一個(gè)繼承基礎(chǔ)接口的 Mapper 接口就可以開始使用了。
一、實(shí)體類配置
假設(shè)有一個(gè)表:
create table user
(
id INTEGER GENERATED BY DEFAULT AS IDENTITY (START WITH 1) PRIMARY KEY,
name VARCHAR(32) DEFAULT 'DEFAULT',
sex VARCHAR(2)
);
對(duì)應(yīng)的實(shí)體類:
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方法
}
實(shí)體類上 必須添加 @Entity.Table 注解指定實(shí)體類對(duì)應(yīng)的表名,建議明確指定表名,不提供表名的時(shí)候,使用類名作為表名。 所有屬于表中列的字段,必須添加 @Entity.Column 注解,不指定列名時(shí),使用字段名(不做任何轉(zhuǎn)換),通過 id=true 可以標(biāo)記字段為主鍵。
@Entity 中包含的這兩個(gè)注解提供了大量的配置屬性,想要使用更多的配置,參考下面 3. @Entity 注解 的內(nèi)容, 下面是一個(gè)簡(jiǎn)單示例:
@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 = "帳號(hào)")
private String userName;
//省略其他
}
二、Mapper接口定義
有了 User 實(shí)體后,直接創(chuàng)建一個(gè)繼承了 Mapper 的接口即可:
//io.mybatis.mapper.Mapper
public interface UserMapper extends Mapper<User, Long> {}
這個(gè)接口只要被 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 配置,啟動(dòng)類注解方式:
@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 使用,下面是簡(jiǎn)單示例:
User user=new User();
user.setUserName("測(cè)試");
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 只需要配置實(shí)體類注解, 創(chuàng)建對(duì)應(yīng)的 Mapper 接口就可以直接使用,沒有任何繁瑣的配置。
上面的示例只是簡(jiǎn)單的使用了 MyBatis Mapper,還有很多開箱即用的功能沒有涉及, 建議在上述示例運(yùn)行成功后,繼續(xù)查看本項(xiàng)目其他模塊的詳細(xì)文檔,熟悉各部分文檔后, 在使用 MyBatis Mapper 時(shí)會(huì)更得心應(yīng)手,隨心所欲。
四、wrapper 用法
在 1.2.0 版本之后,針對(duì) Example 封裝了一個(gè) ExampleWrapper,可以通過鏈?zhǔn)秸{(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();
對(duì)應(yīng)的 SQL 如下:
SELECT id, name AS userName, sex
FROM user
WHERE (sex = ? AND ((id > ?) OR (id < ?)))
OR (name LIKE ?)
下載地址
人氣源碼

若依后臺(tái)管理系統(tǒng) RuoYi v4.7.8
CryptoJS加密庫(crypto.js) v4.2.0
JetLinks開源物聯(lián)網(wǎng)平臺(tái)源碼 v2.2.0
Jeepay開源支付系統(tǒng) v2.4.0
JSH_ERP 開源版J2EE進(jìn)銷存系統(tǒng)代碼源碼 v1.0.2
QQ 聊天機(jī)器人小薇(XiaoV) v2.2.2
ECharts JavaScript圖表庫 v5.6.0
因酷時(shí)代(inxedu)在線教育系統(tǒng) V2.0.6
Javashop B2C開源電商系統(tǒng) v6.3.2
iBizEAM開源設(shè)備資產(chǎn)管理系統(tǒng)源碼 v1.0
相關(guān)文章
-
Java輕量級(jí)類隔離框架 SOFAArk Project v2.3.0SOFAArk 是一款基于 Java 實(shí)現(xiàn)的動(dòng)態(tài)熱部署和輕量級(jí)類隔離框架,由螞蟻集團(tuán)開源貢獻(xiàn),主要提供應(yīng)用模塊的動(dòng)態(tài)熱部署和類隔離能力。歡迎需要的朋友下載使用...
-
SpringBlade微服務(wù)開發(fā)平臺(tái) v4.4.0SpringBlade 是一個(gè)由商業(yè)級(jí)項(xiàng)目升級(jí)優(yōu)化而來的SpringCloud分布式微服務(wù)架構(gòu)、SpringBoot單體式微服務(wù)架構(gòu)并存的綜合型項(xiàng)目,采用Java8 API重構(gòu)了業(yè)務(wù)代碼,完全遵循阿里巴...
-
Diboot輕代碼開發(fā)平臺(tái) v2.11.0Diboot輕代碼開發(fā)平臺(tái)是一個(gè)面向開發(fā)人員的低代碼開發(fā)平臺(tái),將重復(fù)性的工作自動(dòng)化,提高質(zhì)量、效率、可維護(hù)性...
-
RuoYi-activiti工作流平臺(tái)源碼 v4.1RuoYi-activiti是一款以若依開源權(quán)限管理系統(tǒng)為基礎(chǔ)開發(fā)平臺(tái)并集成了activiti框架完成的工作流系統(tǒng),旨在打造集流程設(shè)計(jì)、流程部署、流程執(zhí)行、任務(wù)辦理、流程監(jiān)控于一體的...
-
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9RuoYi若依權(quán)限管理系統(tǒng)是一個(gè)基于SpringBoot的權(quán)限管理系統(tǒng),代碼易讀易懂、界面簡(jiǎn)潔美觀, 核心技術(shù)采用Spring、MyBatis、Shiro沒有任何其它重度依賴,喜歡的朋友快來下載...
-
Java Struts2漏洞復(fù)現(xiàn)工具今天給大家分享Java Struts2漏洞復(fù)現(xiàn)工具,喜歡的朋友快來下載體驗(yàn)吧...
-
java操作excel的jar包(jxl.jar包 源碼)jxl.jar是通過java操作excel表格的工具類庫,能夠修飾單元格屬性,是由java語言開發(fā)而成的,接下來通過本文給大家介紹java操作excel的jar包(jxl.jar包 源碼),喜歡的朋友快...
-
springboot整合QuartJob實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理源代碼Quartz是一個(gè)完全由java編寫的開源作業(yè)調(diào)度框架,形式簡(jiǎn)易,功能強(qiáng)大,,下面給大家分享springboot整合QuartJob實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理源代碼,感興趣的朋友快來下載體驗(yàn)吧...
-
SOFABoot開源框架 v3.24.0SOFABoot 是螞蟻集團(tuán)開源的基于 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代碼來制作動(dòng)態(tài) 網(wǎng)頁,歡迎需要的朋友下載使用...
下載聲明
☉ 解壓密碼:www.dhdzp.com 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過一段時(shí)間重試!或者多試試幾個(gè)下載地址
☉ 如果遇到什么問題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購買正版。
☉ 本站提供的MyBatis Mapper v2.2.2資源來源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。

