良いプログラマのJavaチュートリアルを共有MyBatisのプラスはじめに:1.MyBatisプラスの紹介
MyBatisのプラスは、効率性と健全性を高め、開発を簡素化するために、MyBatisのに基づいて変更するだけでなく、強化するために、スタッフの開発MyBatisの強化ツールです。
MyBatisのプラスコア機能:一般的なCRUDのためのサポート、コードジェネレータとコンストラクタの条件。
一般的なCRUD:良いマッパーインタフェースの定義のみBaseMapper <T>インターフェイスは、任意の設定ファイルを記述することなく、一般的なCRUD機能、メソッドとインターフェイスを取得することができます継承する必要があります
EntityWrapper <T>(エンティティラッパークラス)によって、複雑なSQLは、クエリをグループ化、SQL文をスプライスするために使用することができる、および並べ替えをサポートします。コンディションビルダー
2.依存性を追加します。
<依存>
<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层
パブリックインターフェースIUserDaoはBaseMapper <ユーザー> {延び
}
エンティティクラス
@データ
@tablename(値= "t_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(偽=存在):プロパティは、データベーステーブルのフィールドではないことを示しているが、使用されなければなりません。
@TableField(真=存在):属性データベーステーブルのフィールドことを示しています。
@tablename:データベーステーブル
@TableId:テーブルの主キー識別子
@TableField:フィールドがテーブルを識別します
7.試験方法
@テスト
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);
}