欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MyBatis實現(xiàn)萬能Map和模糊查詢

 更新時間:2021年07月11日 16:02:32   作者:野人小哥哥  
本文主要介紹了MyBatis實現(xiàn)萬能Map和模糊查詢,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

萬能Map

  我們在上一節(jié)博文里面將到利用Mybatis實現(xiàn)CRUD操作的時候,我們在數(shù)據(jù)庫表中新增一條數(shù)據(jù)是這樣操作的:

實體類對象的字段有:

package com.hpf.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//編寫實體類User
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private Long id;
    private String username;
    private String password;
}

新增一條記錄的xml文件配置內(nèi)容為:

<insert id="addUser" parameterType="com.hpf.bean.User">
        insert into userinfo (id,username,password) values (#{id},#{username},#{password})
</insert>

其中,#后帶的字段名都是我們實體類用戶類里面一模一樣的字段名。

接著我們再來試試用Map的方式實現(xiàn)用戶記錄的新增:

 <insert id="addUserByMap" parameterType="Map">
        insert into userinfo (id,username,password) values (#{id},#{user},#{pwd})
</insert>

測試部分:

 @Test
    public void testAddUserByMap(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String,Object> map = new HashMap<>();
        map.put("id", 6L);
        map.put("user", "張三");
        map.put("pwd", "666");
        int res = mapper.addUserByMap(map);
        sqlSession.commit();
        sqlSession.close();
    }

說明:我們業(yè)務(wù)相關(guān)的參數(shù)需要哪些字段內(nèi)容,我們就往map里面?zhèn)髂男┳侄蝺?nèi)容就行。

模糊查詢

  要求查詢下表內(nèi)為李性的用戶信息:

package com.hpf.dao;

import com.hpf.bean.User;
import java.util.List;
import java.util.Map;
//這個接口實現(xiàn)的是對于用戶的相關(guān)操作
public interface UserDao {
    //模糊查詢用戶信息
    List<User> getUserByLike(Map map);
}
 <select id="getUserByLike" parameterType="Map" resultType="com.hpf.bean.User">
        select * from userinfo where username like #{value}
 </select>
@Test
    public void testGetUserByLike(){
        SqlSession sqlSession = MyBatisUtils.getSqlSession();
        UserDao mapper = sqlSession.getMapper(UserDao.class);
        Map<String,Object> map = new HashMap<>();
        map.put("value", "李%");
        List<User> userByLike = mapper.getUserByLike(map);
        for(User user:userByLike)
            System.out.println(user);
    }

結(jié)果如圖所示:


說明:模糊查詢在這種方式下其實還有一種寫法也可以得出結(jié)果,但是為了防止sql注入問題,我們不建議如下的寫法:

<select id="getUserByLike" parameterType="Map" resultType="com.hpf.bean.User">
        select * from userinfo where username like #{value}"%"
</select>

到此這篇關(guān)于MyBatis實現(xiàn)萬能Map和模糊查詢的文章就介紹到這了,更多相關(guān)MyBatis 萬能Map和模糊查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論