mybatisd中@SelectKey标签的使用和传递pojo封装对象

MyBatis-plus中@Select注解的参数传递方式:sql.xml 配置参数使用:#{},#param# 不要使用 ${} 此种方式容易出现 SQL 注入 - `@Select`的参数传递 - wrapper自定义sql: 使用条件构造器作为参数 阅读详情

mybatisd中@SelectKey标签的使用

 //保存用户方法
    @SelectKey(statement = "select LAST_INSERT_ID()",before = true,keyColumn = "",keyProperty = "", resultType = int.class)
    @Insert("insert into user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address})")
    void saveUser(User user);
    //statement = "select LAST_INSERT_ID()":表示定义的子查询语句,获取上一个插入的id
    //* before=true:表示在之前执行,booler类型的,所以为true
    //         * keyColumn="":表示查询所返回的类名,没有返回值所以为空
    //         * resultType=int.class:表示返回值得类型
    //         * keyProperty="" :表示将该查询的属性设置到某个列中
  //保存方法
    @Test
    public void saveUser() throws ParseException {
        User user1 = new User();
        user1.setUsername("泛型");
        user1.setAddress("泛型");
        user1.setSex("男");
        user1.setBirthday(new Date());
        //执行保存方法
        userDao.saveUser(user1);
    }

传递pojo封装对象

public class QueryVo {
    private User user;

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    @Override
    public String toString() {
        return "QueryVo{" +
                "user=" + user +
                '}';
    }
}
public class User implements Serializable {
    private Integer id;
    private String username;
    private Date birthday;
    private String sex;
    private String address;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", birthday=" + birthday +
                ", sex='" + sex + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
}
 /**

     *@描述  根据queryVo中的条件模糊查询用户

     *@参数

     *@返回值

     *@创建人  lwz

     *@创建时间  2019/9/20

     *@修改人和其它信息
        ***注意#{}里面的参数不同***
     */
    @Select("select * from user where username like #{user.username}")
    List<User> findByQueryVo(QueryVo vo);

/**

 *@描述

 *@参数  []

 *@返回值  void

 *@创建人  lwz

 *@创建时间  2019/9/20

 *@修改人和其它信息

 */
    @Test
    public void findByQueryVo(){
        QueryVo queryVo = new QueryVo();
        User user1 = new User();
        user1.setUsername("%集%");
        queryVo.setUser(user1);
        List<User> list = userDao.findByQueryVo(queryVo);
        for (User user : list) {
            System.out.println("============");
            System.out.println(user);
            System.out.println("============");
        }
    }

基于Python实现基于遥感指数的水体提取 阅读详情

相关推荐

2022-04-06 RK3566 上调试百兆以太网卡YT8512C 调试记录

一、原理图 二、dts &gmac1_clkin{ clock-frequency = <50000000>; status = "okay"; }; &gmac1 { phy-mode = "rmii"; clock_in_out = "input"; snps,reset-gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; snps,reset-active-low; sn...

海月汐辰 1万+

@SelectKey

@Select的基本使用

qq_39616713的博客 2026

Windows电脑如何用MobaXterm连接宇树G1机器人?保姆级SSH配置指南

本文提供了一份详细的保姆级教程,指导Windows用户使用MobaXterm通过SSH连接宇树G1机器人。内容涵盖从物理网络配置、MobaXterm安装与SSH会话创建,到文件传输、X11转发等高级功能,并包含常见问题排查与安全加固建议,帮助开发者快速建立稳定可靠的远程开发连接。

purple的博客 878

Mybatis之@SelectKey注解

SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。 statement是要运行的SQL语句,它的返回值通过resultType来指定 before表示查询语句statement运行的时机 keyProperty表示查询结果赋值给代码中的哪个对象,keyColumn表示将查...

weixin_40085248的博客 8550

请叫我鱼拆,2024扫地机器人的第一次拆机

从背面可以看出,这个机器人是两轮差速模型,两个驱动轮,一个万向轮,驱动轮位于机器人中心位置,这样原地旋转的圆心就是机器人的中心。可以看到设备已经连接,但是没有办法进shell,厂家应该有做了安全保护之类的,有知道从这个口可以登录系统办法的小伙伴可以后台留言。但这台机器人一直报警说,机器人轮子离地,小鱼 估计是防跌落模块有问题,误触发了,所以打算先拆机看看。接着小鱼试了下,机器可以开机,然后给他重新配置wifi,连上 米家。Allwinner,全志的片子,不知道哪个型号的,看产品id,应该支持adb。

生活不止眼前的苟且 3926

最新Docker GPU支持全解析:为什么nvidia-smi能用但PyTorch找不到CUDA?

本文深入解析了Docker容器中nvidia-smi命令可用但PyTorch无法调用CUDA的根本原因。关键在于默认配置仅暴露了GPU的utility管理能力,而CUDA计算所需的compute能力未被激活。通过正确设置NVIDIA_DRIVER_CAPABILITIES环境变量为compute,utility,并配合--gpus参数,即可解决此问题,确保AI训练等任务顺利进行。

convnet3designer的博客 238

Mybatis中@SelectKey注解

深入浅出Mybatis

程序缘 985

基于simulink的软开关技术的三相逆变器仿真

三相逆变器中的软开关技术(Soft Switching Techniques)旨在减少开关损耗,提高效率,并降低电磁干扰(EMI)。实现软开关通常涉及使用谐振电路或准谐振电路来确保开关器件在零电压(Zero Voltage Switching, ZVS)或零电流(Zero Current Switching, ZCS)条件下进行切换。下面将详细介绍如何在Simulink中进行基于软开关技术的三相逆变器仿真设计。

xiaoheshang_123的博客 162

MyBatis @SelectKey注解用法介绍

1、@SelectKey简介 @SelectKey注解的作用域是方法,效果与标签等同。 @SelectKey注解用在已经被 @Insert 或 @InsertProvider 或 @Update 或 @UpdateProvider 注解了的方法上。若在未被上述四个注解的方法上作 @SelectKey 注解则视为无效。 2、@SelectKey的使用注意事项 @SelectKey注解,即听命他人,也指挥别人,主要表现在两个方面: (1)自身无效的情况。需要前置注解:@Insert 或 @InsertProvi

Schaffer的博客 1880

深度学习图神经网络 (GNN) —— 处理图结构数据(六十九)

本文系统介绍了图神经网络(GNN)的核心概念、主流模型及其应用。主要内容包括: GNN基础:阐述了图结构数据的特性(节点数不定、连接不规则),以及GNN相比CNN/RNN的优势在于处理非欧式空间的图数据。 核心机制:重点讲解了消息传递框架(MPNN),通过聚合邻居信息迭代更新节点表示,并分析了GCN的归一化邻接矩阵计算和GAT的注意力权重机制。 典型模型: GCN:基于归一化邻接矩阵的特征传播 GAT:引入注意力机制区分邻居重要性 GraphSAGE:通过采样解决大图扩展性问题 GIN:理论表达能力最强的图

hello.reader 300

如何在 SAPGUI 里显示上传到 ABAP 服务器的 PDF 文件

在 SAPGUI 里显示 PDF 文件是实际项目中一个很有用的需求。因为在 SAP 实际业务场景中,有大量的流程会生成 PDF 格式的数据。把这种类型的数据输出显示在 SAPGUI 里,方便最终用户查看。本教程后续步骤,还会向大家介绍如何使用 ABAP 代码生成 PDF 格式的数据。本步骤只是简单的将本地 PDF 文件,上传到 ABAP 系统并显示在 SAPGUI 里。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2685

Mybatis详解—@SelectKey注解

SelectKey 元素的属性 SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题。 数据库主键包括自增和非自增,有时候新增一条数据不仅仅知道成功就行了,后边的逻辑可能还需要这个新增的主键,这时候再查询数据库就有点耗时耗力,我们可以采用selectKey来帮助我们获取新增的主键。 属性 描述 keyProperty 表示查询结果赋值给代码中的哪个对象 keyColumn 表示将查询结果赋值给数据库表中哪一列 resultType 填入 keyPr

weixin_43514899的博客 5313

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

@SelectKey 注解的使用

我们在插入数据的时候,希望插入完可以返回插入数据的主键,这时候使用 @SelectKey 即可解决,而不是之前的再去查询一下,然后查到主键去使用 以下摘抄自官网 官网写的挺详细的,所以直接使用原内容了!!! 1、@SelectKey简介 @SelectKey注解的作用域是方法,效果与标签等同。 @SelectKey注解用在已经被 @Insert 或 @InsertProvider 或 @Update 或 @UpdateProvider 注解了的方法上。若在未被上述四个注解的方法上作 @SelectKey

开心最重要 1778

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

mybatis注解

mybatis使用注解开发

技术分享 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Mybatis之参数传递

传递参数6种方式:(以select为例) 1.传递单个简单类型的参数(掌握) 2.传递多个简单类型的参数(掌握) 3.传递对象类型的参数(掌握) 4.传递位置代表参数 5.传递Map类型的参数 6.使用${ }代表参数 7.分页实例 ============================================================= 以下介绍都使用表stud...

ljf12138的博客 1878

selectKey的使用

https://blog.youkuaiyun.com/qq_29663071/article/details/79486048

afdasfggasdf的博客 2797

Mybatis实现@Select等注解动态组合SQL语句

一、背景说明     由于以前在项目中一直使用sqlmap.xml进行mybatis语句的编写和实现,其xml实现动态更新和查询较为方便,而目前由于技术框架所定,采用@Select、@Insert等注解方式来实现对应的持久化操作(MyBatis提供了简单的Java注解,使得我们可以不配置XML格式的Mapper文件,也能方便的编写简单的数据库操作代码),对于简单的数据库操作基本能够满足日常需要,...

Architect_优快云的博客 1791

mybatis 中的循环操作

foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有 item,index,collection,open,separator,close。    item表示集合中每一个元素进行迭代时的别名,    index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置,    open表示该语句以什么开始,    separator表示在每次进...

welcome to 一点点 home 2223

关于mybatis的几种查询封装

1.将多个对象封装到List中,检测到多个对象时list会自动封装 <select id="getAll" resultMap="com.zzw.javaBean.pageTest"> select *from test </select> 2.将多个对象封装到map中,map类型是內键类型,官方已经取了别名 <select id="getAll" resultMap="map"> select *from test </select> ``

burning_passion的博客 806

vue2使用element-ui的el-select组件传递参数和对象

el-select组件官方实例中只能通过value绑定传递一个参数 在线实例展示:https://jsfiddle.net/1erjhcL3/655/   在有些使用场景中需要同时用到对象中的两个参数(id和name) 首先想到的是同时绑定这两个参数,一起传递,官方文档没有可以直接使用的属性或方法 换个角度思考,将包含两个参数的对象作为value的绑定 官方文档提供valu...

farmland 4万+

MyBatis五、MyBatis的各种查询功能

MyBatis的各种查询功能 一、查询一个实体类对象 其结果可被接收的方式 可通过实体类对象接收 可通过List集合接收:即第二种情况 可通过Map结构:即第四种情况 Mapper接口 public interface SelectMapper { User getUserById(@Param("id") Integer id); } Mapper映射文件 <mapper namespace="com.atguigu.mybatis.mapper.SelectMapper"&g

开发者 858

Mybatis中的@SelectKey注解

一、创建Maven项目 在pom.xml中,添加mybatis依赖,mysql-jdbc依赖,把编译版本改为1.8 你问,为啥mybatis不会自动依赖mysql-jdbc,需要手动写明?答:因为mysql驱动是通过字符串动态加载的,这是一种“动态依赖”,Maven只能推导出“静态依赖”。“动态依赖”是一种更加灵活的依赖。 Maven默认的Java版本是1.6,无法使用lambda表达式...

1829

MyBatis和MyBatis-Plus常用注解(全是干货!)

MyBatis和MyBatis-Plus常用注解(全是干货!)

qq_46138492的博客 1万+

MyBaits的SelectKey标签问题总结

MyBaits的SelectKey标签问题总结源代码 源代码 ```bash <insert id="jgxxBasicAdd" parameterType="com.gsww.human.entity.HumanYljg"> insert into human_yljg(YLJG_ID,JGBM,JGMC,SJJGBM,SJJGMC,CLSJ,JGYB,JGXQSS...

ZHIXINGHEYITUOPENG的博客 637

mybatis查询结果为null的解决办法

mybatis查询结果为null的解决办法

weixin_44774576的博客 8801
上一篇: mybatis注解开发
下一篇: java后端学习路线
article711
博客等级 码龄7年 4粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值