MyBatis实现动态查询、模糊查询功能
要实现查询,咱们就先有个数据库,截图如下,其中cityAreaId是外键,本次可以忽略;
下面Branches是我的实体类,里面有name和address属性;
接口中方法:
public List<Branches> finDongTai(@Param("name")String name,@Param("add")String address);//动态 public List<Branches> findLike(@Param("name")String name,@Param("add")String address);//模糊
MyBatis的接口映射文件的代码:
动态查询:
<select id="finDongTai" resultType="com.wj.entity.Branches" > SELECT * FROM Branches where 1=1 <if test="name!=''and name!=null"> and name =#{name} </if> <if test="add!=''and add!=null"> and address =#{add} </if> </select>
模糊查询:
<select id="findLike" resultType="com.wj.entity.Branches" > SELECT * FROM Branches where name like "%"#{name}"%" and address like "%"#{add}"%" </select>
然后就是main方法实现了:
List<Branches> list=new BranchesImpl().finDongTai("建设银行", ""); for (Branches branches : list) { System.out.println("名称:"+branches.getName()+"\t---\t地址:"+branches.getAddress()); } List<Branches> list=new BranchesImpl().findLike("支行", "路"); for (Branches branches : list) { System.out.println("名称:"+branches.getName()+"\t---\t地址:"+branches.getAddress()); }
结果就是。。。
动态查询:
模糊查询:
总结
以上所述是小编给大家介绍的MyBatis实现动态查询、模糊查询功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Mybatis使用MySQL模糊查询时输入中文检索不到结果怎么办
项目开发中,在做Mybatis动态查询时,遇到了一个问题:MySQL在进行LIKE模糊查询时,输入英文可以正常检索出结果,但是输入中文后检索得到的结果为空. 由于是使用GET方式请求,所以为了确保中文不乱码,在控制台接收到请求参数后,对中文进行了一次编码. try { realName = new String(realName.getBytes("GBK"), "UTF-8"); } catch (UnsupportedEncodingException exce
-
Mybatis中的like模糊查询功能
1. 参数中直接加入%% param.setUsername("%CD%"); param.setPassword("%11%"); <select id="selectPersons" resultType="person" parameterType="person"> select id,sex,age,username,password from person where true &
-
MyBatis中的模糊查询语句
其实就只有一条sql语句 <select id = "search" resultType = "material"> select material_id,material_num,material_name,material_type,material_model,id from material where material_name like '%${value}%' or material_num like '%${value}%' </
-
mybatis分页及模糊查询功能实现
mybatis中分页有3种方式来实现,通过sql语句(两种传参方式)来实现,通过mybatis 的 Rowbounds 来实现. 通过(自定义类型)传参 来实现分页: 映射文件: <select id="findListBypage" parameterType="cn.wh.util.PageUtil" resultType="Role"> select * from t_role limit #{index},#{size} &l
-
MyBatis实现模糊查询的几种方式
在学习MyBatis过程中想实现模糊查询,可惜失败了.后来上百度上查了一下,算是解决了.记录一下MyBatis实现模糊查询的几种方式. 数据库表名为test_student,初始化了几条记录,如图: 起初我在MyBatis的mapper文件中是这样写的: <select id="searchStudents" resultType="com.example.entity.StudentEntity" parameterType="com.exampl
-
mybatis 模糊查询的实现方法
mybatis 模糊查询的实现方法 mybatis的逆向助手确实好用,可以省去很多编写常规sql语句的时间,但是它没办法自动生成模糊查询语句,但开发中模糊查询是必不可少的,所以,需要手动对mapper编写模糊查询功能. 这里先明确MyBatis/Ibatis中#和$的区别: 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解
-
详解MyBatis模糊查询LIKE的三种方式
模糊查询也是数据库SQL中使用频率很高的SQL语句,使用MyBatis来进行更加灵活的模糊查询. 直接传参法 直接传参法,就是将要查询的关键字keyword,在代码中拼接好要查询的格式,如%keyword%,然后直接作为参数传入mapper.xml的映射文件中. public void selectBykeyWord(String keyword) { String id = "%" + keyword + "%"; String roleType = "
-
利用MyBatis进行不同条件的like模糊查询的方法
之前一直是用MyBatis进行SQL查询时,一般都是用Generator逆向生产的代码来进行查询. 现在遇到了一个业务问题,我们需要进行对不同的条件分别进行模糊查询,首先我想到的就是根据对需要进行模糊查询的字段进行判断,然后调用Example的方式进行查询条件的注入. 对于String类型的数据可以有Like查询这个方法,但是Integer或者Long这种数据类型的话就没有了,得需要自己动手写. 但是呢,我利用Generator生成的代码Example方式进行模糊查询时确无法实现,原因不太清楚,
-
基于jQuery使用Ajax动态执行模糊查询功能
使用Ajax动态执行模糊查询功能 •必须:需要一个执行查询的接口: 说明: 1.搜索模块仅仅使用了boostrap的样式以及Jquery.js文件 2.因为我使用的layui的弹出层里面做的搜索ifram,所以确定和取消按钮的关闭当前页面的功能都是layui的方式,如果不是ifram的窗口仅仅在当前窗口执行的情况下,可以使用下面的语句来进行关闭当前页面的操作: window.opener=null; window.open('','_self'); window.close(); 效果展示: 引
-
mybatis Example Criteria like 模糊查询问题
目录 简介 Criteria类 简单实例 生成简单的WHERE子句 复杂查询 模糊查询实战 总结 用Mybatis代码生成工具会产生很多个XXXExample类,这些类的作用是什么? 查阅了很多资料,在这里总结归纳一下 简介 XXXExample类用于构造复杂的筛选条件 它包含一个名为Criteria的内部静态类,它包含将在where子句中一起结合的条件列表. Criteria类的集合允许您生成几乎无限类型的where子句. 可以使用createCriteria方法或or方法创建Criteria
-
MyBatis使用Map与模糊查询的方法示例
当我们的实体类.或者数据库里的表.字段或者参数很多,这个时候考虑使用map 一.使用map传参插入数据 1.编写Dao接口/Mapper层 使用Map做参数 //Dao接口/Mapper层 使用Map传参 int addUser2(Map<String,Object> map); 2.编写Mapper.xml中的sql语句 <!-- 传递map的key--> <insert id="addUser2" parameterType="map&quo
-
Mybatis实现动态增删改查功能的示例代码
一.Mybatis 流程简介 最近在看 Mybatis 的源码,大致了解整个框架流程后便手写了一个特别简单的SimpMybatis的小Demo,来巩固这整个框架的学习.下图是我所画的框架大致执行流程:
-
Mybatis中的mapper模糊查询语句LIKE
目录 Mybatis mapper模糊查询语句LIKE mapper 模糊查询语句报错 Mybatis mapper模糊查询语句LIKE 最近做学校安排的课程设计作业,用到SSM框架,在自己写mapper代码是遇到了模糊查询的问题 困扰好久 下面是我解决这个问题的方法,其他网上好多方法我尝试过却没有实现 下面试sql语句 select * from goodsinfo where goodsname like '%' #{goodsname} '%' 注意代码中的空格 空格 空格 #{ } 方式
-
mybatis的动态SQL和模糊查询实例详解
现在以一个例子来介绍mybatis的动态SQL和模糊查询:通过多条件查询用户记录,条件为姓名模糊匹配,并且年龄在某两个值之间. 新建表d_user: create table d_user( id int primary key auto_increment, name varchar(10), age int(3) ); insert into d_user(name,age) values('Tom',12); insert into d_user(name,age) values('Bob
-
Mybatis 中 Oracle 的拼接模糊查询及用法详解
一.结论 这里先给大家看一下结论 Oracle 中,拼接模糊查询的正确写法 SELECT A.USER_ID, A.USER_NAME FROM USER A AND A.USER_NAME like concat(concat('%','w'),'%') 或者 AND A.USER_NAME like '%' || 'w' || '%' Mybatis 中,拼接模糊查询的正确写法 <select id="selectByName" resultMap="BaseRes
-
MyBatis实现万能Map和模糊查询
目录 万能Map 模糊查询 万能Map 我们在上一节博文里面将到利用Mybatis实现CRUD操作的时候,我们在数据库表中新增一条数据是这样操作的: 实体类对象的字段有: package com.hpf.bean; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; //编写实体类User @Data @AllArgsConstructor @NoArgsConstruc
随机推荐
- Git基本常用命令
- AJAX实现无刷新检测用户名功能
- 深入解读Lua中迭代器与泛型for的使用
- 批处理完美实现FTP远程备份数据
- 解决MongoDB 排序超过内存限制的问题
- access的备注字段限制64K
- java使用spring实现发送mail的方法
- js canvas实现QQ拨打电话特效
- JavaScript通过正则表达式实现表单验证电话号码
- js正则表达式中exec用法实例
- 实例分析ASP上传漏洞入侵实战及扩展
- MySQL插入emoji表情失败问题的解决方法
- JSP由浅入深(10)—— Beans and Forms处理
- 基于jQuery实现收缩展开功能
- Ruby 之 class 中的 private、 protected、public
- VC++中HTControl控件类之CHTRichEdit富文本编辑控件实例
- jQuery获取select选中的option的value值实现方法
- Android基础控件(EditView、SeekBar等)的使用方法
- PHP错误和异常处理功能模块示例
- JS实现验证码倒计时的注册页面