• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

完成配置文件的添加、删除和修改(即席查询)


Recommended Posts

多条件查询

我们经常会遇到多条件查询,多条件查询的结果显示在下面的数据列表中。要实现这个功能,我们需要分析最终的SQL语句应该是什么样子,并思考两个问题。

条件表达式

如何连接?

papjcduxww04380.png

简单分析之后,我们来看看功能实现的步骤:

写接口方法

参数:所有查询条件

结果:列表

在映射配置文件中编写SQL语句

编写测试方法并执行它们。

BrandMapper接口中定义多条件查询的方法。

这个函数有三个参数,所以我们在定义接口的时候需要考虑如何定义参数。Mybatis对多个参数有多种实现。

使用@Param ('parameter name ')标记每个参数,并且需要使用# {parameter name}作为映射配置文件中的占位符。

Java list brand selectby condition(@ Param(' status ')int status,@ Param(' company name ')String company name,

@ Param(' brand name ')String brand name);

将多个参数封装到一个实体对象中,使用实体对象作为接口的方法参数。该方法要求在映射配置文件的SQL中使用# {content}时,里面的内容必须与实体类的属性名一致。

java ListBrand selectByCondition(品牌Brand);

将多个参数封装到映射集中,并将映射集作为接口的方法参数。该方法要求在映射配置文件的SQL中使用# {content}时,里面的内容必须与映射集合中的键的名称一致。

ListBrand selectByCondition(地图地图);

编写SQL语句

使用resultMap而不是resultType在BrandMapper.xml映射配置文件中编写语句。

select id=' selectby condition ' result map=' brand result map '

选择*

来自tb_brand

在哪里

status=#{status}

和公司名称,如# {公司名称}

和brand_name,如# { brand name };

/选择

编写测试方法

在test/java下的com.itheima.mapper包下的MybatisTest类中定义测试方法

查看代码

//处理参数

company name=“%”company name“%”;

brand name=“%”brand name“%”;

//1.获取SqlSessionFactory

string resource=' mybatis-config . XML ';

InputStream InputStream=resources . getresourceasstream(resource);

SqlSessionFactory SqlSessionFactory=new SqlSessionFactory builder()。构建(inputStream);

//2.获取SqlSession对象

SQL session SQL session=sqlsessionfactory . open session();

//3.获取映射器接口的代理对象。

brand mapper brand mapper=SQL session . get mapper(brand mapper . class);

//4.执行方法

//方法1:接口方法参数由@Param方法调用。

//list brand brands=brand mapper . selectby condition(status,companyName,brand name);

//模式二:接口方法参数是实体类对象模式调用的方法。

//封装对象

/* Brand brand=新品牌();

brand.setStatus(状态);

brand.setCompanyName(公司名称);

brand.setBrandName(品牌名);*/

//list brand brands=brand mapper . selectby condition(brand);

//模式三:接口方法参数是地图采集对象模式调用的方法。

map map=new HashMap();

map.put('status ',状态);

map.put('公司名',公司名);

map.put('brandName ',brand name);

list brand brands=brand mapper . selectby condition(map);

System.out.println(品牌);

//5.释放资源

SQL session . close();

1大容量参数3360需要@ param(' SQL中的参数占位符名称')

2.实体类的封装参数

你只需要保证SQL中的参数名对应实体类的属性名,就可以成功设置了。

3.地图集

你只需要保证SQL中的参数名与地图集合的键名相对应,设置就可以成功。

Link to comment
Share on other sites