mybatis简单使用记录一下

mybatis官网:http://www.mybatis.org/mybatis-3/

参考博客:https://blog.csdn.net/iku5200/article/details/82856621

配置

application.properties

mybatis.mapper-locations:classpath:/mapping/*.xml
mybatis.config-location:classpath:/mybatis-config.xml

model表(略)

dao层:

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface TestConfigMapper {
List<TestConfigEntity> findAll();
int upsertBatch(List<TestConfigEntity> list);
}

mapping/mapping.xml

<?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.sensor.xxx.dao.TestConfigMapper"> <!-- 指向dao层 --> <select id="findAll" resultType="com.sensor.xxx.models.TestConfigEntity"> <!-- 返回一个列表,列表中的元素type是 entity对象 -->
select * from vibration_config <!-- sql语句 -->
</select> <insert id="upsertBatch" parameterType="java.util.List"> <!-- 批量操作foreach循环 -->
insert into vibration_config (point_id, duration)
values
<foreach collection="list" item="item" index="index" separator=","> <!-- jdbcType 指定映射类型 -->
(#{item.pointId,jdbcType=VARCHAR},#{item.duration,jdbcType=INTEGER}) <!-- 如果不写括号,可以用参数指定:open="(" separator="," close=")"-->
</foreach>
ON conflict(point_id) do update set
duration = excluded.duration
</insert>
</mapper>

第二个是批量 没有添加,有就更新(postgres)

====

批量删除

   <delete id="deleteBatch" parameterType="java.util.List">
delete from vibration_alarm_realtime where point_id in
<foreach collection="list" item="point_id" open="(" separator="," close=")">
#{point_id}
</foreach>
</delete> <delete id="deleteAll">
delete from vibration_alarm_realtime
</delete>

java mybatis的更多相关文章

  1. Java MyBatis 插入数据库返回主键

    最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...

  2. java mybatis Column 'AAA' in where clause is ambiguous

    今天在java mybatis项目中遇到一个问题,“java mybatis Column 'AAA' in where clause is ambiguous”, 这是由于在多表连接查询的时候,遇上 ...

  3. Java Mybatis 框架入门教程

    一.Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果.MyBati ...

  4. java, mybatis, 调用mysql存储过程

    Map<String, Object> bindinfo = new HashMap<String, Object>();            bindinfo.put(&q ...

  5. Java Mybatis 传参方式

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  6. Java Mybatis实现主从同步

    import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class DynamicDat ...

  7. java mybatis学习一

    1.引入maven包 和 导入 sqljdbc包 <dependency> <groupId>org.apache.ibatis</groupId> <art ...

  8. Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了

    insertSelective---Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了 https://www.cnblogs.com/xi ...

  9. [MySql]MySql中外键设置 以及Java/MyBatis程序对存在外键关联无法删除的规避

    在MySql设定两张表,其中product表的主键设定成orderTb表的外键,具体如下: 产品表: create table product(id INT(11) PRIMARY KEY,name ...

随机推荐

  1. uni-app 模拟器

    1.安装MuMu模拟器 Android模拟器端口: 7555 2.安装夜神模拟器 Android模拟器端口: 62001

  2. [后渗透]Metasploit使用基础

    0x00 简介 Metasploit是一个免费的.可下载的框架,通过它可以很容易地获取.开发并对计算机软件漏洞实施攻击.它本身附带数百个已知软件漏洞的专业级漏洞攻击工具.当H.D. Moore在200 ...

  3. 实现MyBatis批量查询

    Service        public List<DeviceBean> getDeviceList(Map<String, Object> parameter);Serv ...

  4. 2019 SDN第一次阅读作业

    目录 阅读 文章链接 阅读 阅读文章<软件定义网络(SDN)研究进展>,并根据所阅读的文章,书写一篇博客,回答以下问题(至少3个): 1.为什么需要SDN?SDN特点? 背景:传统网络的层 ...

  5. Plupload的几个demo

    Plupload有以下功能和特点: 1.拥有多种上传方式:HTML5.flash.silverlight以及传统的<input type=”file” />.Plupload会自动侦测当前 ...

  6. 《你必须知道的javascript(上)》- 2.this与对象原型

    1 关于this 1.1 为什么使用this 随着你的使用模式越来越复杂,显式传递上下文对象会让代码变得越来越混乱,使用this则不会这样.当我们介绍对象和原型时,你就会明白函数可以自动引用合适的上下 ...

  7. Linux 常用操作和命令

    腾讯云部署 java web 环境:https://blog.csdn.net/niceLiuSir/article/details/78879844 Tomcat部署和配置:https://blog ...

  8. MSYS2 更新源

    博客转载自:https://blog.csdn.net/puputaoexin/article/details/81780492 在使用msys2下载文件的时候回出现下载速度奇慢,且经常因为各种原因报 ...

  9. 【转】redis报错“max number of clients reached"

    查看redis监控的时候看到redis的graph出现不正常的情况,截图如下: 如上面截图所展示的样子,可以看到redis 的客户端连接数很突兀的上升到10K,又突然下降到0.排除了监控本身的原因,很 ...

  10. 【SSH进阶之路】Spring的IOC逐层深入——依赖注入的两种实现类型(四)

    上篇博文,我们介绍了为什么使用IOC容器,和IOC的设计思想以及IOC容器的优缺点,并且给大家转载了一篇介绍IOC原理的博文,我们这篇主要给大家依赖注入的两种方式,以及他们的优缺点. 我们这篇博文还是 ...