成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

mybatis注解和xml常用語句

zqhxuyuan / 2819人閱讀

摘要:用這種方式接受用戶的輸入,并將其用于語句中的參數(shù)是不安全的,會導致潛在的注入攻擊,因此要么不允許用戶輸入這些字段,要么自行轉義并檢驗。如何使用連接池。連接池配置方式詳見官網(wǎng)首先實行方法,然后返回設置數(shù)據(jù)源方法。

mybatis注解使用

1.簡單crud

public interface UserMapper {
  //查詢
  @Select("select * from user where id=#{id}")
  User selectUser(int id);
  //查詢全部
  @Select("select * from user")
  List selectUserList();
 //增加數(shù)據(jù)
 @Insert("insert into user (name) values(#{name})")
 boolean insertUser(String name);
     //修改用戶
 @Update("update user set name=#{name} where id=#{id}")
 boolean updateUser(@Param("name") String name,@Param("id") int id);
 //刪除用戶
 @Delete("delete from user where id=#{id}")
 boolean deleteUser(int id);
}

2.一對一注解

@Select("select * from user")
@Results({
        @Result(id = true,property = "id",column = "id"),//id=true 對應于主鍵
        @Result(property = "uid",column = "uid"),
        @Result(property = "user",column = "uid",javaType = User.class,
        one = @One(select = "com.example.dao.UserDao.findUserByid",fetchType = FetchType.DEFAULT))
        //user 對應實體類中一對一的實體類名字,uid表示通過uid外鍵查詢User,JavaType表示查詢結果
        //映射成User類型對象,one=表示一對xx fetchType.default默認是立即加載全部查詢,使用lazy懶加載需要才查詢
})
List selectUserList();

3,一對多注解

@Select("select * from user")
@Results({
        @Result(id = true,property = "id",column = "id"),//id=true 對應于主鍵
        @Result(property = "uid",column = "uid"),
        @Result(property = "user",column = "uid",javaType = User.class,
        many = @Many(select = "com.example.dao.UserDao.findUserByid",fetchType = FetchType.DEFAULT))
        //user 對應實體類中一對一的實體類名字,uid表示通過uid外鍵查詢User,JavaType表示查詢結果
        //映射成User類型對象,one=表示一對xx fetchType.default默認是立即加載全部查詢,使用lazy懶加載需要才查詢
})
List selectUserList();

mybatis的xml配置

1.配置resultMap

    
    
    
    
    

2.通用sql短語

  
    aa, bb
  

 
    
        
            AND t.ID = #{id}
        
        
            AND t.CONTENT LIKE concat("%", #{content},"%")
        
        AND t.APP_CODE IN
        
            #{item}
        
        and t.USER_ID=u.id and t.REMOVED=0
    

3.需要驗證的插入

 
    insert into xxx (
    
        
            TITLE ,
        
    
    ) VALUES (
    
        
            #{title} ,
        
    
    )

4.需要驗證的更新


    UPDATE xxx
    
        
            TITLE = #{title} ,
        
    
    WHERE
    ID = #{id}

5.


    update xxx
    
        
            
                
                    when ID=#{item.id} then #{item.aa}
                
            
        
        
            
                
                    when ID=#{item.id} then #{item.bb}
                
            
        
    
    where ID in
    
        #{item.id,jdbcType=BIGINT}
    

使case when求和算數(shù)sql

SELECT
    sum(
        CASE
        WHEN `REMOVED` = 0 THEN
            1
        ELSE
            0
        END
    )
FROM
    xxx;


mybatis可以使用string給數(shù)據(jù)庫int類型賦值
springboot中開啟日志

#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

1.ORDER BY ${columnName}

這里 MyBatis 不會修改或轉義字符串。NOTE 用這種方式接受用戶的輸入,并將其用于語句中的參數(shù)是不安全的,會導致潛在的 SQL 注入攻擊,因此要么不允許用戶輸入這些字段,要么自行轉義并檢驗。

2.如何使用連接池。

首先實例化連接池數(shù)據(jù)源對象,讓他實現(xiàn)DataSourceFactory這個接口。然后實現(xiàn)方法。在mybatis。conf文件中設置數(shù)據(jù)連接池這個類,將數(shù)據(jù)庫連接信息放在config.properties文件中。

3.mybatis.config文件中setting和數(shù)據(jù)源的設置參數(shù)區(qū)別

會被覆蓋。

4.連接參數(shù)查詢順序

首先查詢properties文件,然后查詢resource文件,最后查詢方法參數(shù)。重復的話會被覆蓋。

5.druid連接池配置方式:

詳見官網(wǎng)
DruidDataSourceFactory首先實行setproperties方法,然后返回設置數(shù)據(jù)源方法。drui數(shù)據(jù)源也需要在DataSource中設置properties文件

8.實體類的方法不定義也可以進行映射

9.mybatis默認是事務不提交

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/77074.html

相關文章

  • 基于 SpringBoot2.0+優(yōu)雅整合 SpringBoot+Mybatis

    摘要:基于最新的,是你學習的最佳指南。驅動程序通過自動注冊,手動加載類通常是不必要。由于加上了注解,如果轉賬中途出了意外和的錢都不會改變。三的方式項目結構相比于注解的方式主要有以下幾點改變,非常容易實現(xiàn)。公眾號多篇文章被各大技術社區(qū)轉載。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(Sprin...

    gghyoo 評論0 收藏0
  • Spring Boot [集成-MyBatis]

    摘要:通過配置文件通過配置導入指定的使用的方式屬性的同學也可以通過配置通過配置先配置文件使用的方式再配置注意中對象需要添加托管給方能正常使用。建議與任選其一,建議使用通過注解的方式使用,當然如果習慣配置的方式也可以使用。 導讀: 在上篇文章中我們介紹了spring-data-jpa的一些常用方法,在這篇文章中我們在介紹關于mybatis與Spring Boot 的集成,及一些常用方法 集成:...

    XBaron 評論0 收藏0
  • 面試官都會問的Mybatis面試題,你會這樣回答嗎?

    摘要:最終能和面試官聊的開心愉快投緣的叫面霸。能夠與很好的集成提供映射標簽,支持對象與數(shù)據(jù)庫的字段關系映射提供對象關系映射標簽,支持對象關系組件維護。使用可以有效的防止注入,提高系統(tǒng)安全性。 showImg(https://segmentfault.com/img/bVbsSlt?w=358&h=269); 一、概述 面試,難還是不難?取決于面試者的底蘊(氣場+技能)、心態(tài)和認知及溝通技巧。...

    seanHai 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<