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. 【NOIP2017模拟测试(10-28)】平衡树

    平衡树解题报告 Description 小D最近又在种树,可是他的种树技巧还是很差,种出的树都长的歪七扭八,为了让树变得平衡一些,小D决定从树上删掉一条边,然后再加上一条边,使得到的仍然是一棵树并且这 ...

  2. 修复LSP 解决不能上网问题

    电脑突然不能上网,ping路由提示"传输失败,常见故障" 1, 打开CMD 2, 输入"netsh winsock reset" 回车 3, 重启电脑 LSP ...

  3. 刷题记录:[SUCTF 2019]Pythonginx

    目录 刷题记录:[SUCTF 2019]Pythonginx 一.涉及知识点 1. CVE-2019-9636:urlsplit不处理NFKC标准化 2.Nginx重要文件位置 二.解题方法 刷题记录 ...

  4. .lib和.dll文件

    LIB文件中存放的是函数调用的信息,值得一提的是数据库有静态数据库(.lib文件)和动态数据库(.dll文件). 静态编译 静态编译将导出声明和实现都放在lib中.编译后所有代码都嵌入到宿主程序. 静 ...

  5. 软件工程--团队项目选择与NABCD

    目录 Part1:项目说明 项目基础 我们的目标 Part2:项目NABCD Need Approach Benefit Competitors Delivery & Data Deliver ...

  6. 解决idea创建Maven项目速度慢

    idea在创建maven项目的时候会去网上自动下载需要的插件,这样就会导致项目创建后一直处于下载插件的状态中,影响开发效率 此时我们可以在创建maven骨架的时候,加入键值对来让maven调用本地的骨 ...

  7. 剑指offer:扑克牌顺子

    题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他 ...

  8. PostgreSQL递归查询示例

    PostgreSQL提供了WITH语句,允许你构造用于查询的辅助语句.这些语句通常称为公共表表达式或cte.cte类似于只在查询执行期间存在的临时表. 递归查询是指递归CTE的查询.递归查询在很多情况 ...

  9. sqlite 常用的一些语句

    转载:https://blog.csdn.net/qq_25221835/article/details/82768375 转载:https://blog.csdn.net/qq_35449730/a ...

  10. (4)Flask项目模板渲染初体验

    一.准备静态资源 将项目使用到的静态资源拷贝到static目录 二.创建前台首页html 创建templates/home/home.html页面,内容包含导航和底部版权两部分,中间内容区域为模板标签 ...