java mybatis
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的更多相关文章
- Java MyBatis 插入数据库返回主键
最近在搞一个电商系统中由于业务需求,需要在插入一条产品信息后返回产品Id,刚开始遇到一些坑,这里做下笔记,以防今后忘记. 类似下面这段代码一样获取插入后的主键 User user = new User ...
- java mybatis Column 'AAA' in where clause is ambiguous
今天在java mybatis项目中遇到一个问题,“java mybatis Column 'AAA' in where clause is ambiguous”, 这是由于在多表连接查询的时候,遇上 ...
- Java Mybatis 框架入门教程
一.Mybatis介绍 MyBatis是一款一流的支持自定义SQL.存储过程和高级映射的持久化框架.MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果.MyBati ...
- java, mybatis, 调用mysql存储过程
Map<String, Object> bindinfo = new HashMap<String, Object>(); bindinfo.put(&q ...
- Java Mybatis 传参方式
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
- Java Mybatis实现主从同步
import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class DynamicDat ...
- java mybatis学习一
1.引入maven包 和 导入 sqljdbc包 <dependency> <groupId>org.apache.ibatis</groupId> <art ...
- Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了
insertSelective---Java MyBatis 插入数据库返回主键--insertSelective这样就不用每次到数据库里面查询了 https://www.cnblogs.com/xi ...
- [MySql]MySql中外键设置 以及Java/MyBatis程序对存在外键关联无法删除的规避
在MySql设定两张表,其中product表的主键设定成orderTb表的外键,具体如下: 产品表: create table product(id INT(11) PRIMARY KEY,name ...
随机推荐
- anki的使用以及anki server的配置
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/anki_and_anki_server 首先吐槽,anki作为老 ...
- mysql 字符类以及重复元字符
字符类 [:alnum:]=[a-zA-Z0-] [:alpha:]=[a-zA-Z] [:digit:]=[-] [:lower:]=[a-z] [:upper:]=[A-Z] [:xdigit:] ...
- ICEM-哑铃
原视频下载地址:https://pan.baidu.com/s/1kVBKJbT ;密码: jqeh
- GIT 使用记录,新手->会用(mac 用户)
(唔,mac 用户这个要求是因为集成在 terminal 中可直接使用) 1. github 中 创建 git 账户 2. github -> 在个人设置中 找到 ssh and GPGkey ...
- 关于 Javascript 学习,有哪些好的博客或者网站推荐?
知乎社区:http://www.zhihu.com/question/19651401 Mozilla开发者网络社区:https://developer.mozilla.org/zh-CN/ moze ...
- #C++初学记录(typedef和define)
typedef的用法 typedef关键字可以用于给数据类型定义一个别名,即可以给long long 定义成ll,也可以给结构体定义,当你定义了一个结构体时,每次创建一个结构体都要使用struct+结 ...
- 正则表达式在线分析 regex online analyzer
https://regexper.com/#%2F%5B0-9%5D%5Cs%5B0-9%5D%2F https://regexper.com/ http://regexone.com/lesson/ ...
- redis-sentinel 高可用方案实践
近期公司的一块核心业务使用redis作为配置转发中心,存在单点问题,考虑服务的可靠性.针对业务需求,我们确定了我们的需求: 异地跨机房容灾 故障自动切换 尽可能高的保证数据不丢失 针对以上需求,我们分 ...
- plsql 使用desc命令提示invalid sql statement
使用SQL WINDOW运行desc命令就报invalid sql statement错误!! 使用Command Window就可以!!!
- SQL Server case when 实现分类汇总
case when 实现分类汇总