mybatis基础操作(三)

本文详细介绍了如何在MyBatis中使用动态SQL实现多条件查询,包括`queryMemberUsingWhere`和`queryMemberUsingTrim`方法,以及如何利用一级和二级缓存优化查询性能,同时展示了如何配置日志记录和数据库连接池管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

动态sql

通过动态sql实现多条件查询,这里以查询为例,实现动态sql的书写。

创建members表

创建表并插入数据:

create table members (
	member_id int (11),
	member_nick varchar (60),
	member_gender char (15),
	member_age int (11),
	member_city varchar (90)
); 
insert into members (member_id, member_nick, member_gender, member_age, member_city) values('1','reading','W','99','wuhan');
insert into members (member_id, member_nick, member_gender, member_age, member_city) values('2','running','W','32','changsha');
insert into members (member_id, member_nick, member_gender, member_age, member_city) values('3','talking','W','26','changsha');
insert into members (member_id, member_nick, member_gender, member_age, member_city) values('4','song','W','22','beijing');
insert into members (member_id, member_nick, member_gender, member_age, member_city) values('5','running','F','28','beijing');
commit;

创建对应的members类

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class Members implements Serializable {
   
    private int memberId;
    private String memberNick;
    private String memberGender;
    private int memberAge;
    private String memberCity;
}

创建对应的dao类

public interface MembersDao {
   
    public List<Members> queryMemberUsingWhere(HashMap<String, Object> parms);

    public List<Members> queryMemberUsingTrim(HashMap<String, Object> parms);

    public List<Members> queryMemberByCity(List<String> cities);

    public List<Members> queryMemberByNick(String keyword);

    public Members queryMemberById(int id);

    public int updateMember(@Param("id") int id, @Param("age") int age);
}

创建xml文件

编写MembersDao的map文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.kingyal.dao.MembersDao">
    <!--    -->
<!--    <cache readOnly="true" size=""></cache>-->
    <resultMap id="MemberMapper" type="Members">
        <id column="member_id" property="memberId">
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值