一、Mybatis 单表 常用增删改查

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

 1 -- 删除表
 2 DROP TABLE testA;
 3 -- 创建表
 4 CREATE TABLE testA(
 5     id INT AUTO_INCREMENT PRIMARY KEY,
 6     username VARCHAR(50),
 7     date1 DATETIME,
 8     str_date VARCHAR(50),
 9     date_str DATE
10 )
11 -- 插入数据
12 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

 1 package com.jtfr.mapper;
 2
 3 import java.util.List;
 4
 5 import com.jtfr.pojo.TestA;
 6
 7 public interface TestADao {
 8
 9     void insertTestA(TestA testA);
10
11     void updateTestA(TestA testA);
12
13     void deleteTestA(TestA testA);
14
15     List<TestA> findAll();
16
17 }

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

原文地址:https://www.cnblogs.com/jtfr/p/10187189.html

时间: 2024-07-31 14:49:08

一、Mybatis 单表 常用增删改查的相关文章

mybatis 单表的增删改查

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

web day19 Service层处理事务(利用ThreadLocal),TxQueryRunner小工具,单表练习(增删改查操作),分页

Service事务 DAO中不是处理事务的地方,因为DAO中的每个方法都是对数据库的一次操作 在Service中不应该出现Connection,它应该只在DAO中出现, 因为它是JDBC的东西,JDBC的东西是用来连接数据库的 修改JdbcUtils 我们把对事务的开启和关闭放到JdbcUtils中,在Service中调用JdbcUtils的方法来完成事务的处理, 但在Service中就不会再出现Connection这一"禁忌"了. 代码 public class JdbcUtils

【框架】[Hibernate]利用Hibernate进行单表的增删改查-Web实例

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自[大学之旅_谙忆的博客] 前面两篇博客已经将Hibernate的基础知识讲解得差不多了,差不多到写实例的时候了. 本篇只用hibernate进行单表的增删改查. 应用Hibernate,对students表进行增删改查. service层和DAO层,我都是直接写实现类了(因为这里主要是演示一下Hibernate的使用),如果是开发项目,注意一定要写接口! 准备数据库: 首先准备一个students表: cr

3.django模板,单表ORM增删改查

1.Django模板语法 模板语法: 变量: {{}} 1 深度查询 句点符 2 过滤器 {{val|filter_name:参数}} 标签: {% %} 1.1Django模板使用 from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request,"index.html",{"current_t

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

1.1 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .iBATIS一词来源于"internet"和"abatis"的组合,是一个基于Java的持久层框架.iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO). MyBatis参考资料官网:https:/

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

牛小妹上周末,一直在尝试如何把数据库的数据弄到界面上.毕竟是新手,搞不出来,文档也看不懂.不过没关系,才刚上大学.今晚我们就来解释下,要把数据搞到界面的第一步.先把数据放到库里,然后再把数据从库里拿出来. 以下内容,参考django官方文档 . 1.创建MODEL 这里和官方文档一致.直接拷出来,放到一个叫models的py文件里面.若是你的项目中没有,一定不要觉得无处写代码.你自己建一个即可 同步数据库: 执行以下命令.不懂的可以参考:django连接mysql python manage.p

MYSQL基础操作之单表的增删改查

一.添加数据. -- 1.创建表,并插入一定的数据. 1 CREATE TABLE STUDENT( 2 ID INT, 3 USERNAME VARCHAR(20), 4 SERVLET INT, 5 JSP INT, 6 ADDRESS VARCHAR(30) 7 ); 8 INSERT INTO STUDENT VALUES (1,'张三',23,84,'京口区'); 9 INSERT INTO STUDENT VALUES (2,'李四',36,74,'润州区'); 10 INSERT

23Spring_JdbcTemplate来实现单表的增删改查

第一步建表: 第二步:编写product表的实体类 public class produce { private int id; private String name; private String price; /** * @return the id */ public int getId() { return id; } /** * @param id the id to set */ public void setId(int id) { this.id = id; } /** * @

Hibernate和jsp做数据库单表的增删改查

虽然很基础,但是我转牛角尖了~~~~这是几个文件 1.最重要的.Java文件 1 package com.chinasofti.hibb.struts; 2 3 4 import org.hibernate.Session; 5 import org.hibernate.SessionFactory; 6 import org.hibernate.Transaction; 7 import org.hibernate.cfg.Configuration; 8 import com.chinaso