Mybatis相關:基於註解的Mybatis開發
1.Mybatis常用註解
@Insert:實現新增
@Update:實現更新
@Delete:實現刪除
@Select:實現查詢
@Result:實現結果集封裝
@Results:可以與@Result 一起使用,封裝多個結果集
@ResultMap:實現引用@Results 定義的封裝
@One:實現一對一結果集封裝
@Many:實現一對多結果集封裝
@SelectProvider: 實現動態 SQL 對映
@CacheNamespace:實現註解二級快取的使用
2.基於註解的增刪改查
@Insert("insert into student_tb(name,sex,age,height,s_address) values(#{name},#{sex},#{age},#{height},#{sAddress})")
@SelectKey(keyProperty = "id",keyColumn = "id",before = false,statement = "select last_insert_id()",resultType = Integer.class)
int addStudent(Student student);
@Delete("delete from student_tb where id = #{id}")
int deleteStudent(int id);
@Update("update student_tb set name = #{name},age=#{age},sex=#{sex},height=#{height}, s_address = #{sAddress} where id = #{id}")
int updateStudent(Student student);
@Select("select * from student_tb where id = #{id}")
//@ResultType(Student.class) 可以省略 設定返回值型別
Student findStudentById(int id);
@Select("select * from student_tb where id = #{id}")
@Results(id = "studentMap",value = {
@Result(id = true,property = "id",column = "id"),
@Result(property = "name",column = "name"),
@Result(property = "sex",column = "sex"),
@Result(property = "height",column = "height"),
@Result(property = "sAddress", column = "s_address")
}) //Resuts 相當於<resultMap @Result相當於<result
Student findStudentById2(int id);
@Select("select * from student_tb")
//@ResultType(Student.class) 可以省略
@ResultMap("studentMap")
List<Student> findAllStudent();
/*
* 當mybatis 方法引數為多個時,可以使用以下幾個方式傳參
* 1.傳物件 傳map
* 2.使用arg0 arg1...... 或者 param1 param2等命名
* 3.先將引數宣告,再使用@Param給引數命名
*
* */
/*org.apache.ibatis.binding.BindingException:
Parameter 'name' not found. Available parameters are [arg1, arg0, param1, param2]*/
//@Select("select * from student_tb where name like #{arg0} and sex=#{arg1}")
//@Select("select * from student_tb where name like #{param1} and sex=#{param2}")
@Select("select * from student_tb where name like #{name} and sex=#{sex}")
List<Student> findAllStudentByNameAndSex(@Param("name") String nameaa,@Param("sex") String sexxx);
3.一對多查詢
@Select("select * from student_tb")
@Results(id = "studentMap2",value = {
@Result(id = true,property = "id",column = "id"),
@Result(property = "sex",column = "sex"),
@Result(property = "age",column = "age"),
@Result(property = "name",column = "name"),
@Result(property = "height",column = "height"),
@Result(property = "sAddress",column = "s_address"),
@Result(property = "scoreList",column = "id",many = @Many(
select = "com.qfedu.dao.IScoreDao2.findScoreById",fetchType = FetchType.EAGER
))
})
List<Student>findAllStudentWithScoreList();
4.註解式開啟快取
dao介面上之間加入此註解
// 開啟快取
@CacheNamespace(blocking = true)
5. 當mybatis 方法引數為多個時(報錯,解決)
當mybatis 方法引數為多個時,可以使用以下幾個方式傳參
1.傳物件 傳map,將資料封裝成物件、map等傳遞
2.使用arg0 arg1...... 或者 param1 param2等命名(注意從0或1開始)
3.先將引數宣告,再使用@Param給引數命名
相關文章
- Mybatis20_mybatis註解開發9MyBatis
- Mybatis-05 註解開發MyBatis
- Mybatis註解開發案例(入門)MyBatis
- MyBatis相關MyBatis
- Mybatis引數傳遞&註解開發MyBatis
- 關於mybatis,需要掌握的基礎MyBatis
- Mybatis筆記04---使用註解開發MyBatis筆記
- 【mybatis annotation】資料層框架應用--Mybatis(二) 基於註解實現資料的CRUDMyBatis框架
- Mybatis高階:Mybatis註解開發單表操作,Mybatis註解開發多表操作,構建sql語句,綜合案例學生管理系統使用介面註解方式優化MyBatisSQL優化
- MyBatis——MyBatis開發流程MyBatis
- myBatis——註解,#{}與${},resultMap的使用MyBatis
- 基於spring boot 及mybatis的web開發環境搭建Spring BootMyBatisWeb開發環境
- mybatis原始碼-註解sqlMyBatis原始碼SQL
- Mybatis基礎:Mybatis對映配置檔案,Mybatis核心配置檔案,Mybatis傳統方式開發MyBatis
- 基於註解的springboot+mybatis的多資料來源元件的實現Spring BootMyBatis元件
- MyBatis從入門到精通(五):MyBatis 註解方式的基本用法MyBatis
- MyBatis 進階,MyBatis-Plus!(基於 Springboot 演示)MyBatisSpring Boot
- Idea - 關於mybatis的外掛IdeaMyBatis
- mybatis關於list的foreach的使用MyBatis
- 「Mybatis系列」Mybatis開發方式和配置MyBatis
- SpringBoot + MyBatis(註解版),常用的SQL方法Spring BootMyBatisSQL
- Mybatis的註解入門MyBatis
- mybatis-plus原始碼解析(二)----基於@MapperScan註解掃描載入MapperMyBatis原始碼APP
- 學習MyBatis必知必會(7)~註解開發、動態SQLMyBatisSQL
- MyBatis加強(4)~mybatis 外掛開發MyBatis
- Mybatis【2.2】-- Mybatis關於建立SqlSession原始碼分析的幾點疑問?MyBatisSQLSession原始碼
- Solon詳解(11)- Mybatis 與 Solon 相親相愛MyBatis
- 關於Mybatis中SQL語句的整理MyBatisSQL
- MyBatis基於xml檔案的 CURD案例MyBatisXML
- Mybatis外掛開發MyBatis
- MyBatis 中 @Param 註解的四種使用場景MyBatis
- 基於vue開發活動頁-路由相關Vue路由
- Spring7——開發基於註解形式的springSpring
- 關於Jpa和Mybatis的一些看法MyBatis
- 關於SpringBoot結合mybatis後遇到的坑Spring BootMyBatis
- MyBatis基於Maven入門例項MyBatisMaven
- Mybatis的基礎配置MyBatis
- mybatis的基礎搭建MyBatis