深圳Java培訓學習:MyBatis Plus 介紹--【千鋒】

andy888168發表於2019-10-28

深圳Java 培訓學習: MyBatis Plus 介紹 -- 【千鋒】

MyBatis Plus 是國內人員開發的 MyBatis 增強工具,在 MyBatis 的基礎上只做增強不做改變,為簡化開發、提高效率而生。

 

MyBatis Plus 的核心功能有:支援通用的 CRUD 與條件構造器。

 

通用 CRUD :定義好 Mapper 介面後,只需要繼承 BaseMapper<T> 介面即可獲得通用的增刪改查功能,無需編寫任何介面方法與配置檔案

 

條件構造器:透過 EntityWrapper<T> (實體包裝類),可以用於拼接 SQL 語句,並且支援排序、分組查詢等複雜的 SQL

2. 新增依賴

<dependency>

<groupId>com.baomidou</groupId>

<artifactId>mybatis-plus</artifactId>

<version>2.3</version>

</dependency>

3. 配置

<!-- MP 提供的 MybatisSqlSessionFactoryBean -->

<bean id="sqlSessionFactoryBean"

class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean">

<!-- 資料來源 -->

<property name="dataSource" ref="dataSource"/>

<!-- 別名處理 -->

<property name="typeAliasesPackage" value="com.qf.entity"/>

<!-- 外掛註冊 -->

<property name="plugins">

<list>

<!--     註冊分頁外掛 -->

<bean class="com.baomidou.mybatisplus.plugins.PaginationInterceptor" />

</list>

</property>

</bean>

 

4.Dao

public interface IUserDao extends BaseMapper<User> {

}

 

5. 實體類

@Data

@TableName(value="t_user")

public class User{

@TableId(value="id",type=IdType.AUTO)

private Integer id;

@TableField(value="username")

private String name;

private Integer age;

private String password;

@TableField(exist=false)

private Integer xxx;

}

 

6. 常見註解

@TableField(exist = false) :表示該屬性不為資料庫表欄位,但又是必須使用的。

 

@TableField(exist = true) :表示該屬性為資料庫表欄位。

 

@TableName :資料庫表相關

 

@TableId :表主鍵標識

 

@TableField :表欄位標識

 

7. 測試方法

@Test

public void testMybatisPlus(){

System.out.println("selectById:"+userDao.selectById(4)); // 根據 Id 查詢

System.out.println("selectList:"+userDao.selectList(null)); // 查詢全部

 

com.baomidou.mybatisplus.plugins.Page<User> page = new com.baomidou.mybatisplus.plugins.Page<>();

List<User> list = userDao.selectPage(page, null); // 分頁查詢

page.setRecords(list); // 把結果封裝到分頁物件中

System.out.println(page.getCurrent());

System.out.println(page.getPages());

System.out.println(page.getSize());

System.out.println(page.getTotal());

System.out.println(page.getRecords());

EntityWrapper<User> entityWrapper = new EntityWrapper<>();

entityWrapper.eq("id", 4);

entityWrapper.or().like("username", "3");

List<User> selectList = userDao.selectList(entityWrapper); // 條件查詢

System.out.println("wrapper:"+selectList);

}

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947096/viewspace-2661699/,如需轉載,請註明出處,否則將追究法律責任。

相關文章