文档章节

mybatis 基础curd操作

千惊万喜
 千惊万喜
发布于 2016/09/02 15:24
字数 499
阅读 61
收藏 1

公共resultMap

	<resultMap id="BaseResultMap" type="com.zhu.example.entity.TestLockEntity">
		<id column="id" property="id" jdbcType="CHAR" />
		<result column="name" property="name" jdbcType="CHAR" />
		<result column="age" property="age" jdbcType="VARCHAR" />
		<result column="ts" property="ts" jdbcType="DATE" />
	</resultMap>

首先是增加操作insert

单个增加

	<!--会返回插入的行数  -->
	<insert id="insertEntity" parameterType="com.zhu.example.entity.TestLockEntity" > 
        insert into test_lock(id,name,age,ts)  
             values(#{id},#{name},#{age},#{ts})  
    </insert>

批量增加

    <!-- 批量插入 -->
   	<insert id="insertEntitys" parameterType="java.util.List" > 
        insert into test_lock(id,name,age,ts)  
             values
       <foreach collection="list" item="item" index="index" separator=",">
             (#{item.id},#{item.name},#{item.age},#{item.ts})  
       </foreach>      
    </insert>

更新操作

单个更新(乐观锁)

    <!-- 乐观锁(校验ts) -->
     <update id="updateEntity" parameterType="com.zhu.example.entity.TestLockEntity">  
        update test_lock set id = #{id},name = #{name},age= #{age} ts = #{item.ts} where id = #{id} and ts = #{ts}
    </update>

批量更新(乐观锁)

        <!-- 乐观锁批量(校验ts) -->
     <update id="updateEntitys" parameterType="java.util.List">  
     	<foreach collection="list" item="item" index="index" open="" close="" separator=";">
        	update test_lock 
        	<set>
				id = #{item.id},name = #{item.name},age= #{item.age}
			</set>
				where id = #{item.id} and ts = #{item.ts}
		</foreach>
    </update>    

查询操作

	<sql id="Base_Column_List">
		id,name,age,ts
	</sql>

单个查询

	<select id="findEntityByID"  parameterType="java.lang.String" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from test_lock
		where id = #{id}
	</select>

批量查询

	<select id="findEntitysByID"  parameterType="java.lang.String" resultMap="BaseResultMap">
		select
		<include refid="Base_Column_List" />
		from test_lock
		where id in
		<foreach collection = "array" item="item" index ="index" open="("  close=")" separator="," >
        #{item}
        </foreach>
	</select>

删除操作

删除一条

       <!-- 删除一条记录 -->  
    <delete id="delEntity" parameterType="java.lang.String">  
        delete from test_lock where id = #{id}  
    </delete>  

批量删除

       <!-- 批量删除(参数为String[]数组) -->  
    <delete id="delEntitys" parameterType="java.lang.String">  
        delete from test_lock where id in
        <foreach collection = "array" item="item" index ="index" open="("  close=")" separator="," >
        #{item}
        </foreach>
        
    </delete>  

另附实体接口类

实体

package com.zhu.example.entity;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;

/**
 * <p>Title: TestLockEntity</p>
 * <p>Description: </p>
 * @author zhukai
 */
public class TestLockEntity implements Serializable {

	private static final long serialVersionUID = -4405516131548860239L;
	
	private String id;
	private String name;
	private Integer age;
	private Timestamp ts;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public Date getTs() {
		return ts;
	}
	public void setTs(Timestamp ts) {
		this.ts = ts;
	}
	
	
	

}

接口

package com.zhu.example.mapper;

import java.util.List;

import org.springframework.stereotype.Component;

import com.zhu.example.entity.TestLockEntity;

/**
 * <p>Title: TestOptimisticLock</p>
 * <p>Description: </p>
 * @author zhukai
 */

@Component
public interface OptimisticLockMapper {
	
	public TestLockEntity findEntityByID(String ID);
	
	public List<TestLockEntity> findEntitysByID(String[] IDs);
	//插入时遵循乐观锁
	public boolean insertEntity(TestLockEntity entity);
	
	public boolean insertEntitys(List<TestLockEntity> entitys);

	public boolean updateEntity(TestLockEntity entity);
	
	public boolean updateEntitys(List<TestLockEntity> entitys);
	
	public boolean delEntity(String ID);
	
	public boolean delEntitys(String[] ID);
	

}

© 著作权归作者所有

千惊万喜
粉丝 4
博文 56
码字总数 15471
作品 0
海淀
程序员
私信 提问
Mybatis-Plus 1.3.6 发布,mybatis 之美

Mybatis-Plus 1.3.6 发布了。Mybatis-Plus是一款MyBatis的增强工具包,简化 CURD 操作。启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入非拦...

青苗
2016/07/28
3.8K
23
Mybatis-Plus 1.2.17 发布,深入优化

Mybatis-Plus是一款MyBatis的增强工具包,简化 CURD 操作。启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。Mybatis-Plus 启动注入非拦截实现、性能更优。 mybati...

青苗
2016/06/15
4.3K
18
Mybatis-Plus 1.4.5 发布,支持 mybatis 热加载等

Mybatis-Plus 1.4.5 发布了。 支持 mybatis mapper.xml 单个方法修改热加载,支持公共字段自定义填充功能。数据库关键词转义等!!! Mybatis-Plus 是一款 MyBatis 的增强工具包,简化 CURD...

青苗
2016/08/29
4.9K
7
MyBatisCodeHelper 1.2 发布,极大提升效率

MyBatisCodeHelper是一款intellij AndriodStudio下的插件,通过java对象来生成建表sql,mybatis curd代码, 提供mybatis 接口到xml文件的互相跳转,mybatis 接口方法名的重构,mybatis sql的...

葛俊
2017/02/14
4.1K
32
Mybatis-plus 1.2.2 发布,MyBatis 增强工具包

mybatis-plus 1.2.2 发布了。MyBatis 增强工具包,简化 CURD 操作。 启动加载 XML 配置时注入单表 SQL 操作 ,为简化开发工作、提高生产率而生。 mybatis-plus 实践及架构原理 与其他工具包区...

青苗
2016/03/14
8.4K
9

没有更多内容

加载失败,请刷新页面

加载更多

拥有有趣灵魂的程序员们,程序员访谈(一)

点击上方关注我们,让小care关爱你! 程序员群体一直都是低调多金的代表,而近段时间以来,程序员在网络上除了高薪之外,总是会和屌丝、苦逼、格子衫、没情趣...联系在一起。黑程序员的段子也...

ITCare
今天
14
0
Linux输入法fcitx的安装问题

Fcitx 总共要安装的包如下 fcitxfcitx-binfcitx-config-commonfcitx-config-gtk | fcitx-config-gtk2fcitx-datafcitx-frontend-allfcitx-frontend-gtk2fcitx-frontend-gtk3......

CHONGCHEN
今天
8
0
网络基础

前言: 最近整理一些以前的学习笔记(有部分缺失,会有些乱,日后再补)。 过去都是存储在本地,此次传到网络留待备用。 计算机网络的功能: 1.数据通信; 2.资源共享; 3.增加数据可靠性; 4....

迷失De挣扎
今天
7
0
spring boot升级到spring cloud

1、先升级spring boot 版本到2.1.3 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.1.3.RELEAS......

moon888
今天
12
0
从蓝鲸视角谈DevOps

DevOps源于Development和Operations的组合 常见的定义 DevOps是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变...

嘉为科技
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部