摘要:用這種方式接受用戶的輸入,并將其用于語句中的參數是不安全的,會導致潛在的注入攻擊,因此要么不允許用戶輸入這些字段,要么自行轉義并檢驗。如何使用連接池。連接池配置方式詳見官網首先實行方法,然后返回設置數據源方法。
mybatis注解使用
1.簡單crud
public interface UserMapper { //查詢 @Select("select * from user where id=#{id}") User selectUser(int id); //查詢全部 @Select("select * from user") ListselectUserList(); //增加數據 @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懶加載需要才查詢 }) ListselectUserList();
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懶加載需要才查詢 }) ListselectUserList();
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 ( ) VALUES ( TITLE , ) #{title} ,
4.需要驗證的更新
UPDATE xxx WHERE ID = #{id} TITLE = #{title} ,
5.
update xxx where ID in when ID=#{item.id} then #{item.aa} when ID=#{item.id} then #{item.bb} #{item.id,jdbcType=BIGINT}
使case when求和算數sql
SELECT sum( CASE WHEN `REMOVED` = 0 THEN 1 ELSE 0 END ) FROM xxx;
mybatis可以使用string給數據庫int類型賦值
springboot中開啟日志
#mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
1.ORDER BY ${columnName}
這里 MyBatis 不會修改或轉義字符串。NOTE 用這種方式接受用戶的輸入,并將其用于語句中的參數是不安全的,會導致潛在的 SQL 注入攻擊,因此要么不允許用戶輸入這些字段,要么自行轉義并檢驗。
2.如何使用連接池。
首先實例化連接池數據源對象,讓他實現DataSourceFactory這個接口。然后實現方法。在mybatis。conf文件中設置數據連接池這個類,將數據庫連接信息放在config.properties文件中。
3.mybatis.config文件中setting和數據源的設置參數區別
會被覆蓋。
4.連接參數查詢順序
首先查詢properties文件,然后查詢resource文件,最后查詢方法參數。重復的話會被覆蓋。
5.druid連接池配置方式:
詳見官網 DruidDataSourceFactory首先實行setproperties方法,然后返回設置數據源方法。drui數據源也需要在DataSource中設置properties文件
8.實體類的方法不定義也可以進行映射
9.mybatis默認是事務不提交
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/77074.html
摘要:基于最新的,是你學習的最佳指南。驅動程序通過自動注冊,手動加載類通常是不必要。由于加上了注解,如果轉賬中途出了意外和的錢都不會改變。三的方式項目結構相比于注解的方式主要有以下幾點改變,非常容易實現。公眾號多篇文章被各大技術社區轉載。 Github 地址:https://github.com/Snailclimb/springboot-integration-examples(Sprin...
摘要:通過配置文件通過配置導入指定的使用的方式屬性的同學也可以通過配置通過配置先配置文件使用的方式再配置注意中對象需要添加托管給方能正常使用。建議與任選其一,建議使用通過注解的方式使用,當然如果習慣配置的方式也可以使用。 導讀: 在上篇文章中我們介紹了spring-data-jpa的一些常用方法,在這篇文章中我們在介紹關于mybatis與Spring Boot 的集成,及一些常用方法 集成:...
摘要:最終能和面試官聊的開心愉快投緣的叫面霸。能夠與很好的集成提供映射標簽,支持對象與數據庫的字段關系映射提供對象關系映射標簽,支持對象關系組件維護。使用可以有效的防止注入,提高系統安全性。 showImg(https://segmentfault.com/img/bVbsSlt?w=358&h=269); 一、概述 面試,難還是不難?取決于面試者的底蘊(氣場+技能)、心態和認知及溝通技巧。...
閱讀 770·2021-09-30 09:46
閱讀 3778·2021-09-03 10:45
閱讀 3609·2019-08-30 14:11
閱讀 2544·2019-08-30 13:54
閱讀 2255·2019-08-30 11:00
閱讀 2347·2019-08-29 13:03
閱讀 1554·2019-08-29 11:16
閱讀 3581·2019-08-26 13:52