1.编写sql表,插入原始数据

 -- 删除表
DROP TABLE testA;
-- 创建表
CREATE TABLE testA(
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50),
date1 DATETIME,
str_date VARCHAR(50),
date_str DATE
)
-- 插入数据
INSERT INTO testA(username,date1,str_date,date_str) VALUES('夕阳游子',NOW(),DATE_FORMAT(SYSDATE(),'%Y-%m-%d %h:%i:%s'),STR_TO_DATE('2018-12-26','%Y-%m-%d %h:%i:%s'));

2.编写实体类 TestA.java

package com.jtfr.pojo;

import java.util.Date;

public class TestA {
private int id;
private String username;
private Date date;
private String strDate;
private Date dateStr;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getStrDate() {
return strDate;
}
public void setStrDate(String strDate) {
this.strDate = strDate;
}
public Date getDateStr() {
return dateStr;
}
public void setDateStr(Date dateStr) {
this.dateStr = dateStr;
}
@Override
public String toString() {
return "TestA [id=" + id + ", username=" + username + ", date=" + date
+ ", strDate=" + strDate + ", dateStr=" + dateStr + "]";
}
}

3.编写Dao层 TestADao.java

 package com.jtfr.mapper;

 import java.util.List;

 import com.jtfr.pojo.TestA;

 public interface TestADao {

     void insertTestA(TestA testA);

     void updateTestA(TestA testA);

     void deleteTestA(TestA testA);

     List<TestA> findAll();

 }

4.编写Dao层对应的 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">
<!-- namespace必需是接口的全路径名 -->
<mapper namespace="com.jtfr.mapper.TestADao">
<resultMap id="TestA" type="com.jtfr.pojo.TestA"></resultMap>
<sql id="query_sql">
SELECT
t.`id`,
t.`username`,
t.`date1` date,
DATE_FORMAT(t.`str_date`,'%Y-%m-%d %h:%i:%s') strDate,
STR_TO_DATE(t.`date_str`, '%Y-%m-%d') dateStr
FROM testA t;
</sql>
<!-- 批量添加数据 -->
<!-- <insert id="insertUserList" parameterType="list">
INSERT INTO usertable VALUES
<foreach collection="list" item="user" index="0" separator="," >
( #{id}, #{username}, #{passwd})
</foreach>
</insert> -->
<insert id="insertTestA">
INSERT INTO testA
(
username
<if test="date != null">
,date1
</if>
<if test="strDate != null">
,str_date
</if>
<if test="dateStr != null">
,date_str
</if>
)
VALUES
(
#{username, jdbcType=VARCHAR}
<if test="date != null">
,#{date, jdbcType=TIMESTAMP}
</if>
<if test="strDate != null">
,DATE_FORMAT(#{dateStr}, '%Y-%m-%d %h:%i:%s')
</if>
<if test="dateStr != null">
,STR_TO_DATE(#{strDate}, '%Y-%m-%d %h:%i:%s')
</if>
)
</insert>
<update id="updateTestA">
UPDATE testA t SET
t.username=#{username}
<if test="date != null">
,t.date1=#{date}
</if>
<if test="strDate != null">
,t.str_date=DATE_FORMAT(#{dateStr},'%Y-%m-%d %h:%i:%s')
</if>
<if test="dateStr != null">
,t.date_str=STR_TO_DATE(#{strDate},'%Y-%m-%d %h:%i:%s')
</if>
WHERE t.id=#{id};
</update>
<delete id="deleteTestA">
<!-- 注意不能写成 testA t -->
DELETE FROM testA WHERE username=#{username};
</delete>
<select id="findAll" resultMap="TestA">
<include refid="query_sql"></include>
</select>
</mapper>

5.项目源码,Maven结构

下载地址:https://files.cnblogs.com/files/jtfr/MybatisMapperDemo.zip

Mybatis 单表 常用增删改查的更多相关文章

  1. mybatis 单表的增删改查

    添加数据返回id mapper.xml mapper -> insert -> selectKey mybatis 内置别名

  2. Django学习笔记(10)——Book单表的增删改查页面

    一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...

  3. python全栈开发day61-django简单的出版社网站展示,添加,删除,编辑(单表的增删改查)

    day61 django内容回顾: 1. 下载: pip install django==1.11.14 pip install -i 源 django==1.11.14 pycharm 2. 创建项 ...

  4. hibernate对单表的增删改查

    ORM: 对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping) 实现对单表的增删改查 向区域表中增加数据: 第一步: 新建一个Da ...

  5. django模型层 关于单表的增删改查

    关于ORM MTV或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库, 通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员 ...

  6. Mybatis(一)实现单表的增删改查

    1.1 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并 ...

  7. django 利用ORM对单表进行增删改查

    牛小妹上周末,一直在尝试如何把数据库的数据弄到界面上.毕竟是新手,搞不出来,文档也看不懂.不过没关系,才刚上大学.今晚我们就来解释下,要把数据搞到界面的第一步.先把数据放到库里,然后再把数据从库里拿出 ...

  8. 1.SSM整合_单表的增删改查

    目标:增删改查 环境:Maven+Eclipse+Tomcat7+JDK7 思维导图: 表结构 目录结构 依赖 <dependencies> <dependency> < ...

  9. Django中对单表的增删改查

    之前的简单预习,重点在后面 方式一: # create方法的返回值book_obj就是插入book表中的python葵花宝典这本书籍纪录对象   book_obj=Book.objects.creat ...

随机推荐

  1. C语言 为什么要引入指针?

    https://blog.csdn.net/chengxuyuan997/article/details/81231679 正文 在说为什么引入指针这个问题前先带大家了解一下什么是指针? 指针最为简短 ...

  2. [HG]奋斗赛G

    T1 题目描述 安娜斯塔西娅喜欢去乌日扬迪安中央公园散步. 但她对简单的散步不感兴趣,于是她开始收集公园里的鹅卵石. 一开始,她决定收集所有她能在公园里找到的鹅卵石. 她只有两个口袋. 她能在每个口袋 ...

  3. bzoj2460题解

    [题意分析] 给你一个可重复数集,要求从中选取一个关于异或空间线性无关的子集,使子集的权值和最大. [解题思路] 定义:一个有序对(S,I)称为拟阵当且仅当该有序对满足以下性质: 1.有穷性:S是一个 ...

  4. 网路编程之socket与 socketserver、黏包

    socket与socketerver才是我们学习python中网络编程的重中之重在介绍他们两个之前我先介绍一些相关知识 一.socket 概念 咱们现在ois模型中找到socket所承担的角色 soc ...

  5. Linux_Bash常用脚本

    目录 目录 从用户列表中过滤用户名并创建用户 awktrcut 指令的文本处理 tr指令 cut指令 awk指令 备份文件 测试LFTPServer权限设定 开启Httpd 安装Httpd 批量创建用 ...

  6. SqL语句基础之增删改查

    增查删改的SQL语句,如此的实用,下面我就来简单介绍一下它简单的用法. 1.什么是SQL? SQL是用于访问和处理数据库的标准的一种计算机语言. 2.SQL可以做什么?  (1)可以向数据库进行查询 ...

  7. Mac004--Tomcat安装

    Mac--Tomcat安装 一.Tomcat下载 https://tomcat.apache.org/download-80.cgi 下载Tomcat注意tomcat与jdk版本要一致.jdk1.8版 ...

  8. waf学习

    参考文章: http://drops.xmd5.com/static/drops/tips-7883.html waf种类 云waf 传统安全厂商的硬件waf以及一直存在ips,ids设备 主机防护软 ...

  9. package和import语句_2

    package import 总结   1.如果想将一个类放入包中,在这个类源文件第一句话写package 2.必须保证该类的class文件位于正确目录下     1)该类的源码可能会产生影响     ...

  10. 解决bug:sprongboot2整合shiro,swagger2页面样式加载不出来问题

    问题如题: 解决思路,把shiro拦截去掉之后发现swagger-ui.html页面接在的资源如下: 因此可以推断拦截器拦截了 "/swagger-resources" " ...