首页 > 其他分享 >多参数要加注解

多参数要加注解

时间:2022-12-28 19:00:41浏览次数:40  
标签:要加 name age List Param 参数 student 注解

多参数要加注解

如果要两个参数查询

就要给参数加注解

方法参数

 package com.woniuxy.dao;
 ​
 import com.woniuxy.entity.Student;
 import org.apache.ibatis.annotations.Param;
 ​
 import java.util.List;
 ​
 /**
  * @author author
  * @create 2022-12-2022/12/27 11:47
  */
 public interface StudentDao {
     //一个参数,对象   #{属性}
     void insertStudent(Student student);
     void updateStduent(Student student);
     //一个参数,基本类型和字符串 占位符   #{idxxx}
     void deleteStudentById(int id);
     Student selectStudentByid(int id);
     List<Student> selectAllStudents();
     //一个参数,基本类型和字符串 占位符   #{idxxx}
     List<Student> selectStudentsByName(String name);
     //一个参数,使用注解   #{name}
     List<Student> selectStudentsByName2(@Param("name") String name);
 ​
     //多个参数必须使用注解,起名 #{name} #{age}
     List<Student> selectStudentsByNameAag(@Param("name") String name,
                                           @Param("age") int age);
     //一个参数,对象   #{属性}
     List<Student> selectStudentsByStudent(Student student);
     //一个参数,对象 使用注解 #{注解名.属性}
     List<Student> selectStudentsByStudent2(@Param("student") Student student);
 ​
     //#{name}   #{student.name} #{student.age}
     List<Student> selectStudentsBy(@Param("name") String name,
                                    @Param("student") Student student);
 }
 ​
 <?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">
 <!-- namespace:就是个名字
     现在可以任意,
     以后必须是接口的权限定名
  -->
 <mapper namespace="com.woniuxy.dao.StudentDao">
     <!--映射文件,就是写Dao方法对应的sql语句-->
     <!--id就是一个名字,名字现在可以任意,以后必须是接口中对应的方法名
         parameterType:参数类型的全限定名
         参数是对象,对应列值,就是使用#{属性名}-->
     <!--useGeneratedKeys="true" keyProperty="id" 将自增的主键值,赋值给对象的属性-->
     <insert id="insertStudent" useGeneratedKeys="true" keyProperty="id">
        insert into student values(null,#{name},#{age},#{score})
     </insert>
     <update id="updateStduent">
        update student set name=#{name},age=#{age},score=#{score} where id=#{id}
     </update>
     <delete id="deleteStudentById">
        delete from student where id=#{idxxx}
     </delete>
 ​
     <select id="selectStudentByid" resultType="Student">
        select * from student where id=#{id}
     </select>
 ​
     <select id="selectAllStudents" resultType="Student">
        select * from student
     </select>
 ​
     <select id="selectStudentsByName" resultType="Student">
         <!--error-->
         <!--SELECT * FROM student WHERE NAME LIKE '%#{name}%'-->
 ​
         <!--SELECT * FROM student WHERE NAME LIKE '%' #{name} '%'-->
        SELECT * FROM student WHERE NAME LIKE concat('%',#{name},'%')
     </select>
     <select id="selectStudentsByName2" resultType="Student">
        SELECT * FROM student WHERE NAME LIKE concat('%',#{name},'%')
     </select>
 ​
     <select id="selectStudentsByNameAag" resultType="Student">
        SELECT * FROM student WHERE NAME LIKE '%' #{name} '%' and age>#{age}
     </select>
 ​
     <select id="selectStudentsByStudent" resultType="Student">
        SELECT * FROM student WHERE NAME LIKE '%' #{name} '%' and age>#{age}
     </select>
 ​
     <select id="selectStudentsByStudent2" resultType="Student">
        SELECT * FROM student WHERE NAME LIKE '%' #{student.name} '%' and age>#{student.age}
     </select>
 ​
     <select id="selectStudentsBy" resultType="Student">
        SELECT * FROM student WHERE NAME LIKE '%' #{name} '%' and age>#{student.age}
     </select>
 </mapper>
 

标签:要加,name,age,List,Param,参数,student,注解
From: https://www.cnblogs.com/huangjiangyang/p/17011054.html

相关文章

  • APP自动化测试总结一:Appium连接参数与第一个脚本
    1fromappium.webdriverimportRemote234caps={5"platformName":"Android",6"appPackage":"com.lemon.lemonban",7"appActivity":......
  • 006 使用动态代理实现自定义注解功能
    问题的提出:自定义一个注解,如@MyLog,当把此注解加在函数上时,该函数的调用会被自动日志。解题思路:创建函数所在对象的动态代理,当该函数被调用时,在代理中进行日志。两种方法:......
  • c: 可变参数
    c:可变参数    一、可变参数源码 1[root@rockyc]#catarg_test.c2#include<stdio.h>3#include<stdlib.h>4#include<stdarg.h>5#include<s......
  • .NetCore中EFCore查询参数不固定,动态创建表达式树的方法
    第3方开源的有:​​https://github.com/davideicardi/DynamicExpresso​​​​https://github.com/microsoft/RulesEngine​​​​https://github.com/zzzprojects/System.Li......
  • SpringBoot - 注入原生注解 Servlet,Filter,Listener
    @ServletComponentScan(basePackages=“com.atguigu.admin”)指定原生Servlet组件都放在那里@WebServlet(urlPatterns=“/my”)直接响应,没有经过Spring的拦截器@WebF......
  • MyBatis四大参数两种写法
    MyBatis四大参数两种写法1.在主配置文件中,直接写到value值里面  2.四大参数写入单独配置文件开始是  为了避免以后其他框架冲突都加个前缀jdbc.  主......
  • JDK8引进的JVM参数变化记录
    1.PermGen空间​​被移除了,取而代之的是Metaspace​​需要做的调整为-XX:PermSize=64m-XX:MaxPermSize=128m变成 -XX:MetaspaceSize=64m-XX:MaxMetaspaceSize=128m否则......
  • JVM疑难启动参数汇总
    ThreadLocalAllocationBuffer,简称就是:TLAB,即内存本地的持有的buffer,设置参数有:-XX:+UseTLAB                         启用这种机制的意思-XX......
  • 11个案例讲透 Python 函数参数
    今天给大家分享一下自己整理的一篇Python参数的内容,内容非常的干,全文通过案例的形式来理解知识点,自认为比网上80%的文章讲的都要明白,如果你是入门不久的python新手,......
  • sqlite3 执行带参数的sql语句
    c=conn.cursor()#获取游标sql1='''insertintocompany(id,name,age,address,salary)values(?,?,?,?,?)'''arg=(None,'王五',32,'天堂',......