博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
myBatis模糊查找
阅读量:5022 次
发布时间:2019-06-12

本文共 1504 字,大约阅读时间需要 5 分钟。

对数据库条件查找,进行姓名模糊查找,我使用的是mysql数据库

正常语句:select * from student where 1=1 and name like ‘%name%’;
蓝色name是从service层得到的名字,即需要模糊查找的内容,这里要注意模糊查找格式:like ‘%查找的内容%’


方法一、在xml中对模糊查找的处理

下面是myBatis.xml文件中对模糊查找的配置语句

上面的处理方式是在xml中对模糊查找的处理,格式为:‘%${name}%’

这里必须是$符号,要原样输出,不可以为#号。


方法二、在处理层解决

public class TestEnd {    public static void main(String[] args) {        ServiceDao sd=new ServiceDaoImpl();        //sd.add(new Student(7,"殇滘",21,"男"));        //模糊查找        List
list=sd.findByCondition(new Student(7,"'%王%'",21,"男")); System.out.println(list); List
listAll=sd.findAll(); System.out.println(listAll); }}

List list=sd.findByCondition(new Student(7,”’%王%’”,21,”男”));

直接在传入数据时对姓名处理,格式:‘%王%’
这种处理方式在xml文件中就不要方法一那种写法了


方法三、在myBatis的DbUtils的数据库具体操作实现层处理

这里写图片描述

public List
findByCondition(Student s) { String name=s.getName();//得到姓名 s.setName("'%"+name+"%'");//模糊查找格式处理 String namespace="com.studentDao.ServiceDao"; SqlSession sqlSession=MyBatisUtils.getSqlSession(); return sqlSession.selectList(namespace+".findByCondition", s); }
String name=s.getName();//得到姓名s.setName("'%"+name+"%'");//模糊查找格式处理

处理方式,先得到姓名,在对姓名进行处理格式


上面三种方式推荐使用第一种和第二种方式,因为这两种方式是一劳永逸的,

我个人喜欢第一种方式

转载于:https://www.cnblogs.com/wangqilong/p/9417523.html

你可能感兴趣的文章
docker常用命令详解
查看>>
jQuery技巧大放送
查看>>
字符串转换成JSON的三种方式
查看>>
Hive时间函数笔记
查看>>
clojure-emacs-autocomplete
查看>>
一个自己写的判断2个相同对象的属性值差异的工具类
查看>>
10 华电内部文档搜索系统 search03
查看>>
[HIHO1149]回文字符序列(dp)
查看>>
[HDU1402]A * B Problem Plus(FFT)
查看>>
[CF803C] Maximal GCD(gcd,贪心,构造)
查看>>
逆时针旋转的矩阵变换
查看>>
第10周15/16/17
查看>>
【数据库】SQL两表之间:根据一个表的字段更新另一个表的字段
查看>>
四六级作文常见错误解析(转载)
查看>>
Tomcat
查看>>
./是当前目录 ../是当前的上一级目录。上上级就是../../一般绝对路径时候常用...
查看>>
linux支持FTP和SFTP服务【1】
查看>>
树的递归与非递归遍历方法
查看>>
每天一个Linux命令(6):rmdir命令
查看>>
oracle连接的三个配置文件(转)
查看>>