mybatis学习二之增删改查

【操作系统】 Operation System 第二章:操作系统基础操作 2.1 操作系统的启动 (1)CPU, I/O, 内存通过总线连接。 (2)DISK:存放OS; BIOS:基本I/O处理系统( basic I/O system); Bootloader: 加载OS到内存中。 (3)当电脑通电时,段寄存器CS和指令寄存器IP能够确定一个内存地址,例如CS:IP = 0xf000:fff0. (4)POST(加电自检),寻找显卡和执行BIOS。(显示器,键盘…是否... 阅读详情

1.增加,并返回主键的id:

配置文件不详细说,见上一篇博客:mybatis学习一之入门示例

在BlogDao中增加接口:

    /**
     * 插入后返回id
     *
     * @param blog
     */
    public void insertCacheId(Blog blog) {
        mapper.insertCacheId(blog);
        this.close();
    }

mapper文件增加接口:

void insertCacheId(Blog blog);

配置文件中增加:

    <!--插入后返回id:select @@identity-->
    <insert id="insertCacheId" parameterType="Blog">
        insert into Blog(id, title, author_id, state, featured, style)
        values
        (#{id}, #{title}, #{authorId}, #{state}, #{featured}, #{style})
        <selectKey resultType="int" keyProperty="id" order="AFTER">
        select @@identity
        </selectKey>
    </insert>

增加测试单元:

    @Test
    public void testInsertCacheBlogId() {
        Blog build = Blog.builder()
                .authorId(1)
                .state("ACTIVE")
                .style("333")
                .featured(false)
                .title("三国演义")
                .build();
        new BlogDao().insertCacheId(build);
        logger.info("after blog is:{}", build);
    }

测试结果:

 

2.查询所有数据,步骤同上:

    public List<Blog> selectAllBlogs() {
        return mapper.selectAllBlogs();
    }

 

 List<Blog> selectAllBlogs();
    <select id="selectAllBlogs" resultType="Blog">
        select * from Blog
    </select>
    @Test
    public void testSelectAllBlogs() {
        final List<Blog> blogs = new BlogDao().selectAllBlogs();
        blogs.stream().forEach(blog -> logger.info(blog));
    }

3.模糊查询

    public List<Blog> selectBlogsByTitle(String title) {
        return mapper.selectBlogsByTitle(title);
    }

 

List<Blog> selectBlogsByTitle(String title);

 

    <select id="selectBlogsByTitle" resultType="Blog">
        select * from Blog where title like concat('%', #{title}, '%')
    </select>
    @Test
    public void testSelectBlogsByTitle() {
        final List<Blog> blogs = new BlogDao().selectBlogsByTitle("三");
        blogs.stream().forEach(blog -> logger.info(blog));
    }

测试结果:

4.多条件查询

    public List<Blog> selectBlogsByCondition(Map<String, Object> map) {
        return mapper.selectBlogsByCondition(map);
    }

 

List<Blog> selectBlogsByCondition(Map<String, Object> map);

 

    <select id="selectBlogsByCondition" resultType="Blog">
        select * from Blog where title like concat('%', #{title}, '%') and state = #{state}
    </select>

 

    @Test
    public void testSelectBlogsByCondition() {
        Map<String, Object> map = new HashMap<>();
        map.put("title", "a");
        map.put("state", "Active");
        final List<Blog> blogs = new BlogDao().selectBlogsByCondition(map);
        blogs.stream().forEach(blog -> logger.info(blog));
    }

树冠体积计算之体元累加法 因为是自己之前研究的一个方向,就复现了一下论文中的这个方法,在此正好记录一下。 文章目录一、简介二、代码实现(MATLAB)三、小结 一、简介 简而言之,其实就是一句话,即以固定大小的体元模拟不规则的树冠形状。按照论文中的思路主要就是将树冠沿树高方向以 k 为步长进行等距离分段,把每一段树冠的点投影到垂直于树高方向的平面上,再对该平面划分成大小为 k × k 的像元,根据投影到各个像元内点的数量,判断该像元的有效性,统计有效像元的数量 T,则树冠体积为 T 个 k × k × k 的体元之和。如下图所示: 阅读详情

相关推荐

STM32驱动电磁阀电路设计:从光耦选型到MOSFET驱动的实战解析

本文深入解析了STM32驱动24V电磁阀的完整电路设计,重点探讨了光耦选型与MOSFET驱动两大核心环节。针对电平转换与电气隔离需求,详细对比了EL357N与TLP2310等光耦在CTR、速度及耐压等关键参数上的差异与应用场景。同时,文章提供了MOSFET关键参数解读、驱动电路优化方案(如推挽驱动)以及完整的PCB布局、电源处理与调试避坑指南,旨在帮助工程师构建稳定可靠的工业控制电路。

weixin_29184371的博客 234

mybatis学习(24):分页2 多参数传递(使用注解)

分页排序 目录结构 com.geyao.mybatis.mapper BlogMapper类 package com.geyao.mybatis.mapper; import java.util.List; import org.apache.ibatis.annotations.Param; import com.geyao.mybatis.pojo.Blog; p...

歌谣的博客 510

西门子PLC作为TCP客户端通信:TSEND_C/TRCV_C指令实战与状态机设计

在工业自动化与物联网系统中,TCP/IP通信是实现设备间数据交换的基础协议,其核心在于建立可靠的点对点连接与数据流传输。其工作原理基于客户端-服务器模型,通过三次握手建立连接,确保数据包的顺序与完整性。这项技术的工程价值在于打破了传统工控设备被动响应的局限,为实时数据主动上报、边缘计算集成提供了通用且灵活的解决方案。在工业物联网、设备远程监控、生产数据实时采集等场景中,TCP客户端模式使得PLC能够主动将产线状态、报警信息等关键数据推送至服务器或数据库,实现更及时的数据交互。本文聚焦于西门子S7-1200/

weixin_29194255的博客 361

【Java】关于Map解析List<Map<String, String>>的心得

一、前言      在众多开发的项目中都会建立实体、model等包含了众多的属性和方法的类,但是有的时候就要求查询一个实体中的一部分,返回一个实体会有很多的空字段,非常浪费。这个时候我们可以使用Map二、举个例子      我要统计新生报到数目和未报到数目,他们在数据库中是用0/1表示的,’是否报到(0/1 否/是)’,所以我就需要通过sql查询出所有0和1的个数各有多少个。查出来后,存储到map中

哈士奇 1万+

Multisim的探针(Probe)及数字电路的一些调试技巧的应用

Multisim的探针(Probe)及数字电路的一些调试技巧的应用 --EE Bang   By  WRS 上图为555方波发生器,根据R1,R2,C2参数的配置可产生频率为46.3KHZ,占空比50%的方波信号,如果用示波器查看波形参数的话需要用两个坐标轴做差,操作不便,另外如果要修改电路将上述电阻换成滑动变阻器的话,使其产生可变频率

Agent Christmas的博客 3万+

【脑电分析系列】第7篇:频域分析基石 — 功率谱密度(PSD)的计算与常见方法对比

本文探讨了脑电图(EEG)频域分析的核心方法——功率谱密度(PSD)。通过对比基于快速傅里叶变换的周期图法和更稳健的Welch's方法,指出后者通过分段、加窗和平均处理,能有效降低估计方差,更适合分析非稳态的脑电信号。文章详细解析了关键参数设置对频率分辨率和统计稳定性的影响,并提供了Python计算实现。PSD分析将复杂的脑电信号转换为直观的频域特征,为研究认知功能和神经疾病提供重要依据。

qq_32516809的博客 1805

selectList()只能传递一个参数,但实际所需参数既要包含String类型,又要包含List类型时的处理方法:

List<String> list_3 = new ArrayList<String>(); Map<String, Object> map2 = new HashMap<String, Object>(); list.add("1"); list.add("2"); map2.put("list", list); //网址id map2.put("siteTag", "0");//网址类型 public List<SysWeb> getSy

qq_25983579的博客 3913

海康工业相机触发模式详解:软触发 vs 外触发,在C#里如何选与用?

本文深入解析海康工业相机的软触发与外触发模式,详细比较两者的特性差异、适用场景及C#实现方法。通过海康SDK配置指南和实战代码示例,帮助开发者掌握工业相机触发模式的选择与优化技巧,提升自动化检测系统的精确性和可靠性。

weixin_42635064的博客 555

Mybatis学习总结(二):增删改查

一、总体步骤 1、编写接口 2、实现接口 3、测试 (增删改需要提交事务) 二、增 // 增加一个用户 int addUser(User user); <insert id="addUser" parameterType="com.wc.pojo.User"> insert into mybatis.user(id, name, pwd) values(#{id},#{name},#{pwd}); </insert> @Test public

weixin_42959073的博客 314

【立创开源】太阳能板充电方案单节3.7v锂电池充电

一直对太阳能板感兴趣,老是感觉充电好麻烦,要是放在那里就可以自己充电多好,所以尝试做了一个太阳能充电板。因为这几天都是阴天,所以测试效果不太好,但是下雨天也是能充电的,但是基本只能维持电量不掉,电压差不多4.2v以上,电流只有2mA。中午出太阳的时候,隔着玻璃放在太阳下测试,电流有12mA以上。能充起一点点电。等大晴天看一看能不能达到卖家说50mA。┗( T﹏T )┛感觉达不到。这个东西只能当一个玩具(;′⌒`)。不过如果汽车上一些行车记录仪加一个这个,汽车经常在太阳下停车,可能再也不用充电了。

贾saisai的博客 1万+

(付费请教,防遗忘记录)为什么EDEM bondV1 V2添加后还是没有胶结?????

最近用到了EDEM的胶结功能,在添加了bond V1和V2后,我发现无论颗粒半径设置为多少,接触半径设置为多少,胶结键的参数设置为多少,bond generated数量均为0!!!在后处理中bond中的力也通通为0!!我跟我的同门百思不得其解!!!!最终付费请教了一个大牛,解决了这个问题!!!!答案在文末

zheaa的博客 3102

MyBatis学习(二)之MyBatis 增删改查CRUD的实现。

记录自己在狂神说java中的学习情况,文章里有自己学习的理解和扩展,新手难免有理解偏差或者错误,恳请大佬指正。 Java自学 MyBatis CRUDMyBatis的CRUD1.1 namespace1.2 select1.3 insert1.4 update总结 在16. Java MyBatis的基础上,进行CRUD的学习。 MyBatis的CRUD 1.1 namespace 在mapper.xml文件中的namespace的包名要和Dao/Mapper接口的包名一致! 即<mapper nam

学习是为了让运气刚好能碰上你的努力 324

C#的GDI+绘图详解

/消除锯齿 或 AntiAlias。// 1.在窗体或控件的Paint事件中,用PaintEventArgs e 创建绘图对象 ---- 控件或窗体重绘时。//为控件创建绘图对象。//--------------------以上方法三选一。//2.创建绘图对象 panel1中绘图。

weixin_50920631的博客 3457

MyBatis学习系列二——增删改查

目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring   数据库的经典操作:增删改查。 在这一章我们主要说明一下简单的查询和增删改,并且对程序接口做了一些调整,以及对一些问题进行了解答。 1、调整后的结构图:   2、连接数据库文件配置分离:    一般的程序都会把连接数据库的配置单独放在.properti...

weixin_34381666的博客 124

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MyBatis学习(二)-增删改查基于XML

完成增删改查的具体步骤与重点:1)配置sql映射文件2)配置链接数据库的文件3)定义实现方法的接口(接口式编程)4)测试类1.EmployeeMapper.xml<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org

surpass0728的博客 367

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Mybatis学习日记(二)——单个参数的增删改查

在上一篇博客中,我们初识了Mybatis,了解了怎样使用Mybatis来对数据库进行操作,在本篇博客中,我们将实现单个参数的增删改查功能,分别了解select,insert,update,delete的基本用法。 一.创建数据库表与实体类 在很多系统中都需要权限管理,因此我们在这里对权限管理进行需求分析,建立其数据库表和对应的实体类。在数据库中我们建立了用户表sys_user,角色表sys_r...

黄书胜的博客 684

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SSM框架学习之MyBatis(二)——MyBatis基本操作实现增删改查

SSM框架学习(二)——MyBatis基本操作实现增删改查一、创建数据库1、建“mybatis_test”数据库2、建“customers”表二、创建实体类(称为javabean/entity/domain)1、建Customer实体类2、编写实体类的代码三、创建Mapper文件1、在resources下新建customerMapper.xml文件2、编写映射文件CustomerMapper.xm...

qq_35302274的博客 457

【MyBatis 学习二】增删改查&& 参数占位符 #{} 和 ${}的使用

1、根据Id查询用户情况1:当只有一个参数的时候,可以加注解也可以不加。(1)不加注解:参数名可以任意:(2)加注解:@Param("uid"),xml文件也叫uid要对应。而Integer后的名字可以任意。(3)如果有多个参数:就必须加注解。2、插入数据情况1:不加注解情况2:加注解问题:怎么拿到自增Id?(1)useGeneratedKeys:这会令 MyBatis 使⽤ JDBC 的 getGeneratedKeys ⽅法来取出由数据库内部⽣成的主键(

qq_48479056的博客 797

(二)mybatis学习之入门增删改查

mybatis学习之入门增删改查

卡洛~carlo的博客 1064

MyBatis学习笔记总结【二】之CRUD(增删改查)

文章目录

weixin_42190209的博客 322

MyBatis学习笔记二:增删改查

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33850015的博客 127

mybatis学习笔记二(实现数据的增删改查)

实现数据的增删改查 public interface IUserOperation { /* 添加用户 */ public void addUser(User user); /* 添加用户 */ public void insertSelective(User user); /* 删除用户 */ public void deleteUser(int id);

retacn_yue的专栏 4712

Mybatis学习笔记(二):实现对数据库的增删改查

Mybatis实现对数据库的增删改查 一、编写接口 package org.westos.dao; import org.westos.pojo.User; import javax.jws.soap.SOAPBinding; import java.util.List; public interface UserMapper { //添加一个用户 int addUser(User user); //根据id查找用户 User selectUser(int id);

想教猫咪学Java 276

Mybatis学习总结(二)—使用接口实现数据的增删改查

在这一篇中,让我们使用接口来实现一个用户数据的增删改查。 完成后的项目结构如下图所示: 在这里,person代表了一个用户的实体类。在该类中,描述了相关的信息,包括id、name、age、id_num信息。而personMapper则是该实体类的一个配置文件。需要注意的是,在上一篇博文中,namespace属性的值是其本身,而在这一篇中,使用的是接口。那么两者有什么区别呢?使用接口,那么相...

weixin_30823001的博客 331

MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实现 字符串代入法 cache缓存 二、SQL语句映射文件(2)增删改查、参数、缓存 MyBatis学习 之 一、MyBatis简介与配置MyBatis+Spring+MySql...

huidaoli 1430

MyBatis学习二:Mapper代理开发、配置文件完成增删改查、注解开发

MyBatis学习二:Mapper代理开发、配置文件完成增删改查、注解开发

weixin_41897680的博客 1340
上一篇: JVM面试题总结
下一篇: JAVA--String str=““与new String()的区别
给自己加加油
博客等级 码龄8年 302粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值