mybatis 的综合查询、使用别名的方法配置 mapper

简介: mybatis 的综合查询、使用别名的方法配置 mapper

目的:

  • 学会编写的 mybatis 的综合查询、使用别名的方法配置 mapper

完成内容

  1. 编写一个 MyBatis 的程序 ,使用代理方式,进行综合查询

对客户表的编号,名称,地址,电话进行模糊查询

  1. 修改前面的作业的 mapper 配置文件,使用别名的方法配置,测试配置正确

ClientMapper.xml

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yang.mapper.ClientMapper">
    <select id="getClientsByLike"  resultType="com.yang.pojo.Client">
        select * from client where name like #{name} or id like #{id} or address like #{address} or phone like #{phone}
</select>
</mapper>
AI 代码解读

ClientMapper.java

package com.yang.mapper;

import com.yang.pojo.Client;

import java.util.List;

public interface ClientMapper {
    public List<Client> getClientsByLike(Client c);
}
AI 代码解读

Test

package com.yang.mybatis;

import com.yang.pojo.Client;
import com.yang.pojo.Goods;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class QueryMultiParamTest {
    static SqlSessionFactory ssf = null;
    static {
        InputStream is;
    try{
        is = Resources.getResourceAsStream("sqlMapConfig.xml");
        ssf = new SqlSessionFactoryBuilder().build(is);
    } catch(IOException e) {
       e.printStackTrace();
    }
}
    @Test
    public void testQueryMultiParam() throws IOException {
        SqlSession ss = ssf.openSession();
        Client c = new Client();
        c.setId("%1%");
        c.setAddress("%贵%");
        c.setName("%赵%");
        c.setPhone("%88%");
        List<Client> cList = ss.selectList("com.yang.mapper.ClientMapper.getClientsByLike", c);
        for (Client C : cList) {
            System.out.println(C);
        }
        ss.close();
    }
}
AI 代码解读

在这里插入图片描述
起别名

<typeAliases> 
    <typeAlias type="com.yang.pojo.Client" alias="client"/> 
    <package name="com.yang.pojo"/> 
</typeAliases> 
AI 代码解读
目录
打赏
0
0
0
0
1
分享
相关文章
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
【YashanDB知识库】解决mybatis的mapper文件sql语句结尾加分号";"报错
|
6天前
|
MyBatis Mapper中使用limit参数的查询问题
总结而言,MyBatis中使用 `limit`参数的查询可以高度定制并且灵活,基于方法签名和XML映射文件的组合来达成多样化的查询需求。通过参数化查询和动态SQL,MyBatis可以有效地处理各种复杂情境下的数据库操作,并且将SQL语句的维护与业务代码的编写相分离,提升代码的可维护性和可阅读性。
51 13
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
72 0
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
69 0
|
1月前
|
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
88 1
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
【YashanDB 知识库】解决 mybatis 的 mapper 文件 sql 语句结尾加分号";"报错
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
235 0
Spring boot 使用mybatis generator 自动生成代码插件
本文介绍了在Spring Boot项目中使用MyBatis Generator插件自动生成代码的详细步骤。首先创建一个新的Spring Boot项目,接着引入MyBatis Generator插件并配置`pom.xml`文件。然后删除默认的`application.properties`文件,创建`application.yml`进行相关配置,如设置Mapper路径和实体类包名。重点在于配置`generatorConfig.xml`文件,包括数据库驱动、连接信息、生成模型、映射文件及DAO的包名和位置。最后通过IDE配置运行插件生成代码,并在主类添加`@MapperScan`注解完成整合
109 1
Spring boot 使用mybatis generator 自动生成代码插件
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——基于注解的整合
本文介绍了Spring Boot集成MyBatis的两种方式:基于XML和注解的形式。重点讲解了注解方式,包括@Select、@Insert、@Update、@Delete等常用注解的使用方法,以及多参数时@Param注解的应用。同时,针对字段映射不一致的问题,提供了@Results和@ResultMap的解决方案。文章还提到实际项目中常结合XML与注解的优点,灵活使用两者以提高开发效率,并附带课程源码供下载学习。
102 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等