1. 程式人生 > >mybatis的註解及使用方法

mybatis的註解及使用方法

對映申明樣例

這個例子展示瞭如何使用 @SelectKey 註解來在插入前讀取資料庫序列的值:

@Insert("insert into table3 (id, name) values(#{nameId}, #{name})")@SelectKey(statement="call next value for TestSequence", keyProperty="nameId", before=true, resultType=int.class)int insertTable3(Name name);

這個例子展示瞭如何使用 @SelectKey 註解來在插入後讀取資料庫識別列的值:

@Insert("insert into table2 (name) values(#{name})")@SelectKey(statement="call identity()", keyProperty="nameId", before=false, resultType=int.class)int insertTable2(Name name);

This example shows using the @Flush annotation to call the SqlSession#flushStatements():

@FlushList<BatchResult>
flush();

These examples show how to name a ResultMap by specifying id attribute of @Results annotation.

@Results(id ="userResult", value ={@Result(property ="id", column ="uid", id =true),@Result(property ="firstName", column ="first_name"),@Result(property ="lastName", column ="last_name")})@Select
("select * from users where id = #{id}")User getUserById(Integer id);@Results(id ="companyResults")@ConstructorArgs({@Arg(property ="id", column ="cid", id =true),@Arg(property ="name", column ="name")})@Select("select * from company where id = #{id}")Company getCompanyById(Integer id);

This example shows solo parameter using the Sql Provider annotation:

@SelectProvider(type =UserSqlBuilder.class, method ="buildGetUsersByName")List<User> getUsersByName(String name);classUserSqlBuilder{publicString buildGetUsersByName(finalString name){returnnew SQL(){{
      SELECT("*");
      FROM("users");if(name !=null){
        WHERE("name like #{value} || '%'");}
      ORDER_BY("id");}}.toString();}}

This example shows multiple parameters using the Sql Provider annotation:

@SelectProvider(type =UserSqlBuilder.class, method ="buildGetUsersByName")List<User> getUsersByName(@Param("name")String name,@Param("orderByColumn")String orderByColumn);classUserSqlBuilder{// If not use @Param, you should be define same arguments with mapper methodpublicString buildGetUsersByName(finalString name,finalString orderByColumn){returnnew SQL(){{
      SELECT("*");
      FROM("users");
      WHERE("name like #{name} || '%'");
      ORDER_BY(orderByColumn);}}.toString();}// If use @Param, you can define only arguments to be usedpublicString buildGetUsersByName(@Param("orderByColumn")finalString orderByColumn){returnnew SQL(){{
      SELECT("*");
      FROM("users");
      WHERE("name like #{name} || '%'");
      ORDER_BY(orderByColumn);}}.toString();}}

相關推薦

Query註解方法限制

ctx ati IT select ast 實現 res pos param repository倉庫 public interface PersonRepository extends Repository<Person,Integer>{

mybatis註解快取調優

注 解: 好 處:1、減少維護數量,配置檔案減少; 2、減少編碼量,提升效率 做 法: 註釋去實現普通的程式碼實現,當出現動態SQL的時候採用呼叫xml的方法; 儲存物件 @Insert(value="insert into t_husband (hus_name)

關於Mybatis的@Param註解 mybatis Mapper中各種傳遞引數的方法

  原文:https://blog.csdn.net/mrqiang9001/article/details/79520436 關於Mybatis的@Param註解   Mybatis 作為一個輕量級的資料持久化框架,目前(2018)的應用非常廣泛,基本可以取代Hiberna

mybatis註解使用方法

對映申明樣例 這個例子展示瞭如何使用 @SelectKey 註解來在插入前讀取資料庫序列的值: @Insert("insert into table3 (id, name) values(#{nameId}, #{name})")@SelectKey(statement="call next value

舉例MyBatis的常用的API方法

cto .sql 根據 actor sql sql語句 factor batis mybatis框架   在使用MyBatis框架是,主要涉及以下幾個API:   1.SqlSessionFactoryBuilder該對象根據MyBatis配置文件SqlMapConfig.

解決mybatis註解開發時兩表在一個方法裡面新增,一個表自動生成的主鍵作為另一個表的外來鍵新增的問題

1、mapper層裡的方法上添加註解: 實體類屬性:cExperimentaltaskid(id) 表字段:c_experimentaltaskid(主鍵id欄位) @Options(useGeneratedKeys = true, keyProperty = "cExperimentalta

Mybatis註解開發之動態SQL通過類方法註解

之前是xml和直接在mapper方法上面寫sql,發現太麻煩了,然後上網查了一下發現個好玩的方法,就是通過類的方法來註解開發(才開始學習寫部落格,有問題煩請多擔待)後續將繼續更新,更新完畢後將取消這段說明文字 1.寫對應的動態sql的類和相應方法(這裡我因為馬虎了,踩了大半

關於使用JPA的@ManyToOne註解方法踩過的雷

舉個例子:    有兩張表,員工表(employee)和部門表(department)。這個時候,員工表對於部門表來說,屬於ManyToOne的一個關係,對應關係為多個員工對應一個部門。當我們建立表結構時,應在多的一方去維護表關係,也就是說,應將@ManyToOne註解加在員

自動生成ibatis檔案mybatis檔案的方法

generatorConfig - mybatis: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration         PUBLIC "-//mybatis.or

SpringBoot + MyBatis(註解版),常用的SQL方法

一、新建專案及配置 1.1 新建一個SpringBoot專案,並在pom.xml下加入以下程式碼   <dependency>    <groupId>org.mybatis.spring.boot</groupId> <artifactId&

ObjectQuery查詢方法

ack 支持 exec edm {0} country intersect sta 查詢 ObjectQuery 類支持對 實體數據模型 (EDM) 執行 LINQ to Entities 和 Entity SQL 查詢。ObjectQuery 還實現了一組查詢生成器方法,

列表的定義方法

個數 lan nbsp 插入 刪除元素 mov log 指定 查詢 追加元素--append/extend,先看方法的說明 先看下實例理解兩個方法的區別 再看一個字符串的可能更好理解 插入元素,插入元素在指定的索引前面 查詢元素 查找元素

轉載---編寫高質量代碼:改善Java程序的151個建議(第3章:類、對象方法___建議47~51)

閱讀 aer 集中 記事本 哈希算法 讀者 堆內存 ref 類型判斷 閱讀目錄 建議47:在equals中使用getClass進行類型判斷 建議48:覆寫equals方法必須覆寫hashCode方法 建議49:推薦覆寫toString方法 建議50:使用package

轉載---編寫高質量代碼:改善Java程序的151個建議(第3章:類、對象方法___建議41~46)

equals 業務 父親 face 使用 訪問 his () 而是 閱讀目錄 建議41:讓多重繼承成為現實 建議42:讓工具類不可實例化 建議43:避免對象的淺拷貝 建議44:推薦使用序列化對象的拷貝 建議45:覆寫equals方法時不要識別不出自己 建議46:equ

hibernate validation內置註解自定義註解

ons private from decimal 最重要的 con name cts mva 1 Bean Validation 中內置的 constraint 2 @Null 被註釋的元素必須為 null 3 @NotNull

Java註解反射得到註解

-a hide for dcb his port ges cnblogs 類名 Class類的方法 f package com.part1; /** * * @author pc * */ public class Studen

MyBatis框架ORM

支持 中修改 對象模型 操作 object style 高級映射 java pan 1.MyBatis框架簡介   MyBatis 是一個開源的數據持久層框架(持久指的是瞬時到持久)。它內部封裝了通過JDBC訪問數據庫的操作,支持普通的SQL查詢,存儲過程的高級映射,幾乎消

MyBatis配置入門

insert imp enc 建立 develop 亂碼 裏的 tin 等等 1. 在本教程中,建立 java 工程,但一般都是開發 web 項目,這個系列教程最後是 web,但這裏為了方便學習,本教程前面建立的都是 java 工程。2. 將 mybatis-3.2.3.j

Ext.grid.GridPanel屬性方法

ble sse rst 可能 colspan ask gridpanel ted elm Ext.grid.GridPanel屬性及方法等 1、Ext.grid.GridPanel主要配置項:store:表格的數據集columns:表格列模式的配置數組,可自動創建

Spring框架context的註解管理方法之二 使用註解註入對象屬性

.org es2017 swift package 自動 clas 找到 裝配 alt 首先還是xml的配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.spring