好程式設計師Java教程分享MyBatis Plus介紹

好程式設計師IT發表於2019-10-30

好程式設計師Java 教程分享 MyBatis Plus 介紹:1.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/69913892/viewspace-2661914/,如需轉載,請註明出處,否則將追究法律責任。

相關文章