Mybatis多参数封装到一个类中模糊查询
生活随笔
收集整理的這篇文章主要介紹了
Mybatis多参数封装到一个类中模糊查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.創建QueryValueObject實體類
package com.william.domain;import org.omg.PortableInterceptor.USER_EXCEPTION;/*** @author :lijunxuan* @date :Created in 2019/7/12 12:09* @description :* @version: 1.0*/ public class QueryValueObject {private User user;private Integer startIndex;private Integer pageSize;public User getUser() {return user;}public void setUser(User user) {this.user = user;}public Integer getStartIndex() {return startIndex;}public void setStartIndex(Integer startIndex) {this.startIndex = startIndex;}public Integer getPageSize() {return pageSize;}public void setPageSize(Integer pageSize) {this.pageSize = pageSize;} }2.UserMapper接口
package com.william.dao;import com.william.domain.QueryValueObject; import com.william.domain.User;import java.util.List;public interface UserMapper {/*** 封裝到一個類中查詢* @param queryValueObject* @return*/public List<User> findByCondition(QueryValueObject queryValueObject);}3.UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.william.dao.UserMapper"><!--多參數封裝到一個類中多條件查詢--><select id="findByCondition" parameterType="QueryValueObject" resultType="user">select * from user where username like "%"#{user.username}"%" and sex=#{user.sex}limit #{startIndex},#{pageSize}</select> </mapper>4.TestCrud測試類
package com.william;import com.william.dao.UserMapper; import com.william.domain.QueryValueObject; import com.william.domain.User; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; import org.junit.Test;import javax.annotation.Resource; import java.io.IOException; import java.io.InputStream; import java.util.List;/*** @author :lijunxuan* @date :Created in 2019/7/12 10:16* @description :* @version: 1.0*/ public class TestCrud {/*** 多參數封裝到一個類中,多條件查詢* @throws IOException*/@Testpublic void findByCondition() throws IOException {InputStream inputStream = Resources.getResourceAsStream("Mybatis-configuration.xml");SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();//獲取某接口的動態代理對象(獲取某接口的一個實現類)UserMapper userMapper = sqlSession.getMapper(UserMapper.class);QueryValueObject queryValueObject = new QueryValueObject();User user = new User();user.setUsername("a");user.setSex("男");queryValueObject.setPageSize(5);queryValueObject.setStartIndex(0);queryValueObject.setUser(user);List<User> userMapperByCondition = userMapper.findByCondition(queryValueObject);for (User user1 : userMapperByCondition) {System.out.println(user1);}sqlSession.close();} }5.測試結果
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Mybatis多参数封装到一个类中模糊查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真心话的奇葩问题大全最新100个
- 下一篇: 幼儿园宣传文案30句