文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习

上一节说了Mybatis的框架搭建和简单查询,这次我们来说一说用Mybatis进行基本的增删改操作;

 一、 插入一条数据

1、首先编写USER.XML(表的xml)使用insert元素,元素写在mapper中:

<insert id="insertitem" parameterType="cn.qkp.po.user">
INSERT INTO user(username,birthday,sex,address) VALUES(#{username},#{ birthday},#{sex},#{address})
</insert>

注意:这里的parameterType使用了实体对象的类型。因为#{}和${}可以接收pojo数据,可以使用OGNL解析出pojo的属性值;如:#{username}为获取pojo中username的属性值,切记使用实体对象类型,在大括号中要保持数据一致;

2、在运行java文件中的代码(MybatisFrist.java中):

 @Test
 public void start3(){
  SqlSession session = sqlsessionfactory.openSession();//打开SqlSession
  User user = new User();//创建实体对象
  user.setUsername("mylydg");
  user.setSex("1");
  user.setBirthday(new Date());
  session.insert("test.insertUser", user);//执行插入
  session.commit();//提交事务
  session.close();//关闭连接
 }

以上便是基本的数据插入操作,使用对象来操作Mybatis进行插入;

PS:拓展(如何获得插入数据的主键返回)?

看如下代码操作:

1.1、在insert元素中使用selectKey元素

<insert id="insertitem" parameterType="cn.qkp.pojo.user">
<!-- 1、语句select LAST_INSERT_ID()为查找最后插入元素的id
  2、order属性表示相对insert语句在什么时候执行,有两个参数"AFTER"之后和"BEFORE"之前
  3、resultType属性表示返回值的类型
  4、keyProperty表示返回到的属性,切记要与insert中的parameterType类型的值相同,它会把值返回给parameterType对象
 -->
<selectKey order="AFTER" resultType="int" keyProperty="id">
select LAST_INSERT_ID()
</selectKey>

1.2、在运行java文件中的代码(MybatisFrist.java中)直接通过之前传入的对象的user.Id获得即可

@Test
 public void start3(){
  SqlSession session = sqlsessionfactory.openSession();//打开SqlSession
  User user = new User();//创建实体对象
  user.setUsername("mylydg");
  user.setSex("1");
  user.setBirthday(new Date());
  session.insert("test.insertUser", user);//执行插入
  session.commit();//提交事务
  session.close();//关闭连接
  System.out.println("the id ="+user.getId());//获得主键并打印
 }

二、更新数据操作

1、在表xml(user.xml,写在mapper中):

 <update id="update" parameterType="cn.qkp.mybatis.po.User">
 update user set username = #{username},sex = #{sex},birthday = #{birthday},address = #{address} where id=#{id}
 </update>

2、在运行java文件中的代码(MybatisFrist.java中):

 @Test
 public void update(){
  //通过工厂类打开数据接口
  SqlSession sqlsession = sqlsessionfactory.openSession();
  //设置接收对象
  User user = new User();;
  user.setUsername("mylydg");
  user.setSex("1");
  user.setBirthday(new Date());
  user.setAddress("the address");
  user.setId(27);
  try {
   //查询数据selectOne为查询一条的方法第一个参数是user.xml中的namespace.id;第二个参数是user配置文件中的#{id}
   sqlsession.update("test.update", user);
   sqlsession.commit();
  } catch (Exception e) {
   // TODO: handle exception
  }finally{
   sqlsession.close();//读完要关闭sqlsession
  }
   System.out.println("the id ="+user.getId());//打印输出
 }

运行方法后,则可以更新指定id的一条数据

三、删除一条数据的操作

1、在表xml文件(user.xml,写在mapper中):

 <delete id="delete" parameterType="int">
 delete from user where id = #{id}
 </delete>

2、在运行java文件中的代码(MybatisFrist.java中):

 @Test
 public void delete(){
  //通过工厂类打开数据接口
  SqlSession sqlsession = sqlsessionfactory.openSession();
  try {
   //查询数据selectOne为查询一条的方法第一个参数是user.xml中的namespace.id;第二个参数是user配置文件中的#{id}
   sqlsession.delete("test.delete", 27);
   sqlsession.commit();
  } catch (Exception e) {
   // TODO: handle exception
  }finally{
   sqlsession.close();//读完要关闭sqlsession
  }

运行方法后便可以删除指定id的一条数据。

以上所述是小编给大家介绍的Mybatis入门教程之新增、更新、删除功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对嗨学网的支持!

原文地址是:http://www.piaodoo.com/thread-13247-1-2.html 丝袜控www.txdah.com 131www.buzc.org学习之外可赏心悦目有助更好地学习!

Mybatis入门教程之新增、更新、删除功能_java - JAVA的更多相关文章

  1. (整理)MyBatis入门教程(一)

    本文转载: http://www.cnblogs.com/hellokitty1/p/5216025.html#3591383 本人文笔不行,根据上面博客内容引导,自己整理了一些东西 首先给大家推荐几 ...

  2. MYSQL-JDBC批量新增-更新-删除

    目录 1 概述 2 开启MYSQL服务端日志 3 深入MYSQL/JDBC批量插入 3.1 从一个例子出发 3.2 JDBC的批量插入操作 3.3 两个常被忽略的问题 3.5 误区 4 MYSQL/J ...

  3. .net core 对dapper 新增 更新 删除 查询 的扩展

    早期的版本一直用的是EF,但是EF一直有个让人很不爽的东西需要mapping 实体对象:如果没有映射的情况下连查询都没办法: 所以后来开始使用dapper 但是dapper都是直接用的是sql,这个对 ...

  4. Flask + flask_sqlalchemy + jq 完成书籍展示、新增、删除功能

    后端代码 from flask import Flask, render_template, request, jsonify from flask_wtf.csrf import CSRFProte ...

  5. MyBatis入门教程(基于Mybatis3.2)

    MyBatis和Hibernate一样都是基于ORM的关系型数据库框架 ORM工具的基本思想: 1.从配置文件(通常是XML配置文件中)得到 sessionfactory. 2. 由sessionfa ...

  6. mybatis入门教程之搭建一个简单的mybatis项目并启动它

    一.准备条件: 1.依赖jar包:mybatis核心包(必须).lombok插件包(非必须)以及MySQL数据库连接驱动包(必须) <dependency> <groupId> ...

  7. java实现网页验证码功能_java - JAVA

    文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例为大家分享了java网页验证码的实现代码,供大家参考,具体内容如下 Servlet: package cn.bd ...

  8. ABP入门教程13 - 更新菜单

    点这里进入ABP入门教程目录 菜单更新 在展示层(即JD.CRS.Web.Mvc)的Startup下打开CRSNavigationProvider.cs //用以存放菜单相关信息 修改如下 using ...

  9. MYSQL基础01(新增,修改,删除)

    首先说明一下,本人之前一直都是用MSSQL,由于工作原因,每天写上百条sql语句,并持续了几年;由于换了工作目前主要接触的MYSQL;所以现在开始学习MYSQL. 我的学习计划很简单,我在MSSQL使 ...

随机推荐

  1. gitlab webhook jenkins 403问题解决方案

    1.gitlab webhook 403问题,一般描述为Error 403 anonymous is missing the Job/Build Permission 解决方法: 安装插件:gitla ...

  2. 码云 git 命令提交

    E:\project\eddy-boot-focus>git init E:\project\eddy-boot-focus>git remote add origin https://g ...

  3. java四舍五入及注意点

    package com.example.newtest.test; import java.math.BigDecimal; import java.math.RoundingMode; import ...

  4. 【SpringMVC】---搭建框架步骤

    项目如下 一.加入 Jar 包 部分jar包可以不导(第4.9.11个可以不导入) 二.在 Web.xml 中配置 DispatcherServlet <?xml version="1 ...

  5. unittest单元测试1

    一个简单的单元测试例子#coding:utf-8from selenium import webdriverimport unittestclass Baidu(unittest.TestCase): ...

  6. Centos 安装Jenkins的坎坷

    安装Jenkins(简单复制即可) wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.rep ...

  7. django groupby 用法

  8. ajax的contentType和dataType

    1.contentType,明确告诉服务器我的请求的编码类型是json(严格来说是application/json),不设置的话,有默认值application/x-www-form-urlencod ...

  9. 阿里云服务器重启出现An error occurred 如何处理

    最近网站重启阿里云服务后,出现 An error occurred, An error occurred. Sorry, the page you are looking for is current ...

  10. php中引入facebook的messenger消息接口

    前一段时间需要开发一个messenger的消息接口,但是facebook的官方文档似是而非,而且由于在国内比较小众,之前也没有另外的人写过中文的开发教程,只好自己进行了一番研究并完成了一个demo,希 ...