MyBatis简单增删改查操作,此处所做操作,皆是在之前创建的MyBatis的Hello world的工程基础上所做操作。

首先在接口文件(personMapper.java)中,添加操作方法:

 package com.Aiden.dao;

 import java.util.List;

 import com.Aiden.domain.Person;

 public interface personMapper {
/**
* 添加人员
* @param person
*/
public void addPerson(Person person);
/**
* 删除人员
* @param id
*/
public void deletePerson(Integer id);
/**
* 更新人员
* @param person
*/
public void updatePerson(Person person);
/**
* 根据Id查找人员
* @param id
* @return
*/
public Person findPersonById(Integer id);
/**
* 查询所有人员
* @return
*/
public List<Person> findPerson();
}

然后在映射文件(personMapper.xml)中添加用于实现的标签及SQL语句:

 <?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.Aiden.dao.personMapper"> <resultMap type="Person" id="resultPerson">
<id property="id" column="id"/>
<result property="name" column="name"/>
<result property="age" column="age"/>
</resultMap> <insert id="addPerson" parameterType="Person">
insert into t_person values (null,#{name},#{age})
</insert> <update id="updatePerson" parameterType="Person">
update t_person set name=#{name},age=#{age} where id=#{id}
</update> <delete id="deletePerson" parameterType="Integer">
delete from t_person where id=#{id}
</delete> <select id="findPersonById" parameterType="Integer" resultType="Person">
select * from t_person where id=#{id}
</select> <select id="findPerson" resultType="Person">
select * from t_person
</select> </mapper>

最后在Junit测试类(MyBatisDemo01.java)中添加测试方法:

 package com.Aiden.service;

 import java.util.List;

 import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test; import com.Aiden.dao.personMapper;
import com.Aiden.domain.Person;
import com.Aiden.util.SqlSessionFactoryUtil; public class MybatisDemo01 {
private static Logger logger=Logger.getLogger(MybatisDemo01.class);
private static SqlSession sqlSession=null;
private static personMapper personMapper=null; @Before
public void setUp() throws Exception {
sqlSession=SqlSessionFactoryUtil.openSession();
personMapper=sqlSession.getMapper(personMapper.class);
} @After
public void tearDown() throws Exception {
sqlSession.close();
} @Test
public void testAddPerson() {
logger.info("添加人员");
Person person=new Person("波多野结衣",24);
personMapper.addPerson(person);
sqlSession.commit();
} @Test
public void testUpdatePerson() {
logger.info("修改人员");
Person person=new Person(2,"武藤兰",24);
personMapper.updatePerson(person);
sqlSession.commit();
} @Test
public void testFindPersonById() {
logger.info("根据ID查询人员");
Person person = personMapper.findPersonById(2);
System.out.println(person);
} @Test
public void testFindPerson() {
logger.info("查询所有人员");
List<Person> allPerson = personMapper.findPerson();
for (Person person : allPerson) {
System.out.println(person);
}
} @Test
public void testDeletePerson() {
logger.info("删除人员");
personMapper.deletePerson(2);
sqlSession.commit();
} }

MyBatis日记(四):MyBatis——insert、update、delete、select的更多相关文章

  1. mysql字符集,insert,update,delete,select

    发现有错误:数据太长了.//查看数据库的所有编码:show variables like 'character%';-----+| character_set_client     | utf8    ...

  2. mybatis select/insert/update/delete

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

  3. 关于MyBatis mapper的insert, update, delete返回值

    这里做了比较清晰的解释: http://mybatis.github.io/mybatis-3/java-api.html SqlSession As mentioned above, the Sql ...

  4. mybatis insert update delete返回都是整型 0,1,增,删,改要提交事物

    mybatis insert update delete返回都是整型 0,1, 没有扔 增,删,改要提交事物

  5. mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干

    1.mysql 事务是专门用来管理insert,update,delete语句的,和select语句一点不相干 2.一般来说,事务是必须满足4个条件(ACID): Atomicity(原子性).Con ...

  6. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  7. mysql数据恢复 insert\update\delete 工具MyFlash

    一.简介MyFlash是由美团点评公司技术工程部开发维护的一个回滚DML操作的工具.该工具通过解析v4版本的binlog,完成回滚操作.相对已有的回滚工具,其增加了更多的过滤选项,让回滚更加容易. 该 ...

  8. [Hive - LanguageManual] DML: Load, Insert, Update, Delete

    LanguageManual DML Hive Data Manipulation Language Hive Data Manipulation Language Loading files int ...

  9. sql中同一个Trigger里同时包含Insert,Update,Delete

    sql中同一个Trigger里同时包含Insert,Update,Delete SQLServer是靠Inserted表和Deleted表来处理的,判断一下就可以了,只不过比ORACLE麻烦一点 cr ...

  10. LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

    我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入( ...

随机推荐

  1. 卷积神经网络概念及使用 PyTorch 简单实现

    卷积神经网络 卷积神经网络(CNN)是深度学习的代表算法之一 .具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络”.随着深度学习理论的提出和数值计算设备 ...

  2. 文档工具的王者Sphinx

    Sphinx https://www.sphinx.org.cn/ Sphinx是一个工具,可以轻松创建由Georg Brandl编写并根据BSD许可证授权的智能和美观文档 它最初是为Python文档 ...

  3. 量化编程技术—pandas与数据分析

    # -*- coding: utf-8 -*- # @Date: 2017-08-26 # @Original: import numpy as np stock_cnt = 200 view_day ...

  4. 【tensorflow-v2.0】如何将模型转换成tflite模型

    前言 TensorFlow Lite 提供了转换 TensorFlow 模型,并在移动端(mobile).嵌入式(embeded)和物联网(IoT)设备上运行 TensorFlow 模型所需的所有工具 ...

  5. Xamarin.Android UnauthorizedAccessException: Access to the path is denied

    进行文件读写,勾选了权限 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" / ...

  6. sql简单存储过程分享

    很多程序员朋友都视sql为洪湖水猛兽,其实深入分析一下,多用些时间与耐心,sql还是可以理解的. 本文主要是针对刚刚接触sql的新手朋友,进行一个sql存储过程的简单分享. 小子第一次发布文章,也是借 ...

  7. Equinox开源项目CQRS架构分析

    CQRS架构下Equinox开源项目分析 一.DDD分层架构介绍 本篇分析CQRS架构下的Equinox开源项目.该项目在github上star占有2.4k.便决定分析Equinox项目来学习下CQR ...

  8. 不同版本的ArcMap在Oracle中创建镶嵌数据集的不同行为

    如果不同版本的ArcMap连接到同一个Oracle数据库上,分别执行"创建镶嵌数据集",它们的行为是一样的吗? 答案是:不一样,会有细微的差别 在本例中,ArcMap的版本分别是1 ...

  9. HMAC哈希消息认证码

    收藏 137 14   hmac 编辑 HMAC是密钥相关的哈希运算消息认证码,HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出.   中文名 哈希消息认证码 外文名 H ...

  10. Go 基本数据类型

    Go基础语法 package main import "fmt" func main(){ fmt.Println("Hello world") } 注意点: ...