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. java 欢迎页 主页 设置为servlet的方法

    [参考]Java Web 设置默认首页 [参考]设置servlet或action作为欢迎页面 1. 使用HTML<meta>标签跳转至servlet  <META HTTP-EQUI ...

  2. Dubbo的设计结构和工作原理

    (1)设计结构 Provider:暴露服务方称之为“服务提供者”. Consumer:调用远程服务方称之为“服务消费者”. Registry:服务注册与发现中心的目录服务称之为“服务注册中心”. Mo ...

  3. 各种转码(bytes、string、base64、numpy array、io、BufferedReader )

    bytes 与 string 之间互转 Python3 最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是 Unicode,由str类型表示,二进制数据则由 bytes 类型表示. ...

  4. webuploader超时时间timeout设置

    参考:http://www.codingwhy.com/view/841.html 备注下!

  5. python字符串拼接N种姿势

    字符串大家都不陌生,应用比较广泛,强大,总是会给你一些惊喜的数据类型.我们本篇文章主要介绍的就是关于字符串的多种方法的拼接. 第一种:直接通过+号拼接 输出结果: 2.通过 str.join()方法拼 ...

  6. cmake 指定gcc/g++版本

    export CC=/usr/local/bin/gcc export CXX=/usr/local/bin/g++ cmake /path/to/your/project make

  7. ANR无法生成traces.txt文件

    在有些设备上ANR无法生成traces.txt文件,kill -3又不能准确把握时机或者没权限,可能是软件访问这个路径失败,可以在/data/anr/下面建立一个空的traces.txt,注意保证an ...

  8. 【bat】【windows】通过端口杀死进程

    简单的bat处理,把指定端口集合杀死相应的进程,就是杀死对应的pid @echo off & setlocal EnableDelayedExpansion ]= ]= ]= ]= ]= fo ...

  9. linux设置root密码&进入不了root

    刚装的linux无法使用root需要初始化密码 1.设置密码 sudo passwd root 点击回车,然后输入两次你想设置的密码,比如123456 2.切换用户 su root 再输入你刚才设置的 ...

  10. 2019最新版Java程序员零基础入门视频教程资料(全套)

    为了解决Java学习初学者在网上找视频难的事情,本人整理了一份2019年度最新版的Java学习视频教程.希望看到这份视频的你们都能找到一份称心的工作,技术上都能得到进一步的提升,好东西就要分享给你们, ...