MyBatis 接口注解方式代替mapper.xml


https://blog.csdn.net/m0_38068812/article/details/86566929

 

spring boot(8)-mybatis三種動態sql  或者 這個

 1. 代碼實現字段的映射

public interface IUserMapper {
@Select({"SELECT * from user" } )
//@ResultMap("basicMap") // 此處可以直接使用mapper.xml中
@Results({
@Result(column = "d_id",property = "id"),
@Result(column = "d_username",property = "userName"),
@Result(column = "d_password",property = "password"),
@Result(column = "d_age",property = "age"),
@Result(column = "d_name",property = "name")
})
List<User> getList1();
}
 

 2. 動態SQL語句

 
         
@Mapper
public interface IUserMapper {
//使用UserProvider類的findUserById方法來生成sql
@SelectProvider(type = UserProvider.class, method = "findUserById")
public List<User> findUserById(User user);

class UserProvider {
  public String findUserById(User user) {
    String sql = "SELECT * FROM user";
   if(user.getId()!=null){
      sql += " where id = #{id}";
   }
    return sql;
   }
}

 

3. 結構化SQL

public String findUserById(User user) {    
      return new SQL(){{    
                SELECT("id,name");    
                SELECT("other");    
                FROM("user");    
                if(user.getId()!=null){    
                    WHERE("id = #{id}");    
                }    
                if(user.getName()!=null){    
                    WHERE("name = #{name}");    
                } 
       }}.toString(); //從這個toString可以看出,其內部使用高效的StringBuilder實現SQL拼接    
} 

 

mybatis語句構造器
 https://mybatis.org/mybatis-3/zh/statement-builders.html

  

mybatis plus 的條件構造器

https://mp.baomidou.com/guide/wrapper.html#abstractwrapper


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM