成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

mybatis注解和xml常用語句

zqhxuyuan / 2849人閱讀

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

mybatis注解使用

1.簡單crud

public interface UserMapper {
  //查詢
  @Select("select * from user where id=#{id}")
  User selectUser(int id);
  //查詢?nèi)?  @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 對應(yīng)于主鍵
        @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 對應(yīng)實(shí)體類中一對一的實(shí)體類名字,uid表示通過uid外鍵查詢User,JavaType表示查詢結(jié)果
        //映射成User類型對象,one=表示一對xx fetchType.default默認(rèn)是立即加載全部查詢,使用lazy懶加載需要才查詢
})
List selectUserList();

3,一對多注解

@Select("select * from user")
@Results({
        @Result(id = true,property = "id",column = "id"),//id=true 對應(yīng)于主鍵
        @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 對應(yīng)實(shí)體類中一對一的實(shí)體類名字,uid表示通過uid外鍵查詢User,JavaType表示查詢結(jié)果
        //映射成User類型對象,one=表示一對xx fetchType.default默認(rèn)是立即加載全部查詢,使用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.需要驗(yàn)證的插入

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

4.需要驗(yàn)證的更新


    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 不會修改或轉(zhuǎn)義字符串。NOTE 用這種方式接受用戶的輸入,并將其用于語句中的參數(shù)是不安全的,會導(dǎo)致潛在的 SQL 注入攻擊,因此要么不允許用戶輸入這些字段,要么自行轉(zhuǎn)義并檢驗(yàn)。

2.如何使用連接池。

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

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

會被覆蓋。

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

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

5.druid連接池配置方式:

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

8.實(shí)體類的方法不定義也可以進(jìn)行映射

9.mybatis默認(rèn)是事務(wù)不提交

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/77074.html

相關(guān)文章

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

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

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

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

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

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

    seanHai 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<