1. 程式人生 > 其它 >【Mybatis 框架(自學)】Day02--2022/3/11

【Mybatis 框架(自學)】Day02--2022/3/11

Map和模糊查詢拓展

萬能Map

​ 假設,我們實體類,或者資料庫中的表,欄位或者引數過多,我們應當考慮使用Map!

//(Dao/Mapper)介面實現類

public interface StudentMapper(){
    
    int addStudent2(Map<String,Object> map);
    
}

<!--Mapper對映-->
<insert id="addStudent2" parametereType="map" useGeneratedKeys="true" KeyProperty="id">
	insert into 表明 (name,gender,phone) Values (#{自定義},#{自定義},#{自定義})
</insert>
//Junit單元測試
public class StudentDaoTest() extends MybatisUtils{
    //匯入mybatis工具類
 	MybatisUtils mybatisUtils = new MybatisUtils();
    //將工廠物件傳入給sqlSesion
    Sqlsession sqlSession = mybatisUtils.getSqlSession();
    //獲取介面實現類
    StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class)
        
    public void addStudent2() throws Exception{
        try{
            Map<String,Object> map = new HashMap<>();
            map.put("自定義","內容");
            map.put("自定義","內容");
            map.put("自定義","內容");
            studentMapper.addStudent2(map);
            commitSqlSession(sqlSession)
       }catch (Exception e){
           e.printStackTrace();
       }finally{
           closeSqlSession(sqlSession)
        }
    }
    
}

引數傳遞:

Map傳遞引數,直接在sql中取出key即可 【parameterType="map"】

物件傳遞引數,直接在sql中取出物件屬性即可 【parameterType="Student"】

只有一個基本型別的情況下,可以直接在sql中去到

多個引數時用Map,或者註解