模糊查询用户信息

<!--

[${}]:表示拼接SQL字符串

[${value}]:表示要拼接的是简单类型参数。

注意:

1、如果参数为简单类型时,${}里面的参数名称必须为value

2、${}会引起SQL注入,一般情况下不推荐使用。但是有些场景必须使用${},比如order by ${colname}

-->

<select id="findUserByName" parameterType="String" resultType="com.gyf.domain.User">

SELECT * FROM USER WHERE username like '%${value}%'

</select>

插入用户信息

删除用户

更新用户

主键返回之MySQL自增主键

  思路:

  • MySQL自增主键,是指在insert之前MySQL会自动生成一个自增的主键。
  • 我们可以通过MySQL的函数获取到刚插入的自增主键:

  LAST_INSERT_ID()

  • 这个函数是在insert语句之后去调用。

<insert id="insertUser" parameterType="com.gyf.domain.User">

<!--

[selectKey标签]:通过select查询来生成主键

[keyProperty]:指定存放生成主键的属性

[resultType]:生成主键所对应的Java类型

[order]:指定该查询主键SQL语句的执行顺序,相对于insert语句

[last_insert_id]:MySQL的函数,要配合insert语句一起使用 -->

<selectKey keyProperty="id" resultType="int" order="AFTER">

SELECT LAST_INSERT_ID()

</selectKey>

<!-- 如果主键的值是通过MySQL自增机制生成的,那么我们此处不需要再显示的给ID赋值 -->

INSERT INTO USER (username,sex,birthday,address)

VALUES(#{username},#{sex},#{birthday},#{address})

</insert>

主键返回之MySQL自增UUID

<insert id="insertUser" parameterType="com.gyf.domain.User">

<selectKey keyProperty="id" resultType="String" order="BEFORE">

SELECT UUID()

</selectKey>

INSERT INTO USER (username,sex,birthday,address)

VALUES(#{username},#{sex},#{birthday},#{address})

</insert>

ORCLE主键

  SELECT user_seq.nextval() FROM dual

mybatis_02简单操作数据库的更多相关文章

  1. Spring_boot简单操作数据库

    Spring_boot搭配Spring Data JPA简单操作数据库 spring boot 配置文件可以使用yml文件,默认spring boot 会加载resources目录的下的applica ...

  2. php 简单操作数据库

    <?php header("content-type:text/html;charset=utf-8"); /*//造一个连接 $connect = @mysql_conne ...

  3. pymysql 简单操作数据库

    #!/usr/bin/env python #-*- coding:utf-8 -*- # author:leo # datetime:2019/4/24 15:22 # software: PyCh ...

  4. SQLiteDatabase里面的简单操作数据库的方法

    1.使用insert方法插入记录SQLiteDatabase的insert方法的签名为long insert(String table,String nullColumnHack,ContentVal ...

  5. spring框架整合hibernate框架简单操作数据库

    1.配置文件: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/ ...

  6. pyqt5最简单操作数据库

    要先安一个包才能使用QtSql通过新立得安装 import PyQt5.QtSql as sql db=sql.QSqlDatabase.addDatabase('QMYSQL') db.setDat ...

  7. spring-boot-route(七)整合jdbcTemplate操作数据库

    在一部分内容中,我们学习了Restful接口的编写,及接口文档的生成.我们需要将接口数据进行持久化存储,这一部分我们主要学习几种持久化框架将数据进行存储.本部分内容中,我们都将使用mysql为例来做为 ...

  8. Django简单的数据库操作

    当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...

  9. Android—Ormlite框架简单的操作数据库

    大家在Android项目中或多或少的都会使用数据库,为了提高我们的开发效率,当然少不了数据库ORM框架了,尤其是某些数据库操作特别频繁的app:本篇博客将详细介绍ORMLite的简易用法. 下面开始介 ...

随机推荐

  1. LVS负载均衡简单配置

    一.简单介绍 LVS是 Linux Virtual Server 的简称,也就是Linux虚拟服务器.这是一个由章文嵩博士发起的一个开源项目,它的官方网站是 http://www.linuxvirtu ...

  2. MySQL优化--INSERT ON DUPLICATE UPDATE死锁

    INSERT ON DUPLICATE UPDATE与死锁 在MySQL中提供两种插入更新的方式:REPLACE INTO和INSERT ON DUPLICATE UPDATE,简化了“存在则更新,不 ...

  3. 转载:Package by feature, not layer

    原文地址:Package by feature, not layer Package by feature, not layer The first question in building an a ...

  4. 把ajax包装成promise的形式(1)

    概述 为了体验promise的原理,我打算自己把ajax包装成promise的形式.主要希望实现下列功能: // 1.使用success和error进行链式调用,并且可以在后面加上无限个 promis ...

  5. [Postman]创建第一个集合(2)

    邮递员收藏是一组可以组织到文件夹中的已保存请求. 您在Postman中发送的每个请求都会显示在侧栏的“ 历史记录”选项卡下.在小规模上,通过历史部分重用请求很方便.但是,随着邮递员使用量的增加,在历史 ...

  6. 《Java 多线程编程核心技术》- 笔记

    作为业务开发人员,能够在工作中用到的技术其实不多.虽然平时老是说什么,多线程,并发,注入,攻击!但是在实际工作中,这些东西不见得用得上.因为,我们用的框架已经把这些事做掉了. 比如web开发,外面有大 ...

  7. Ansible工具原理一

    ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命 ...

  8. vmware中nat模式中使用静态ip后无法上网的问题

    在/etc/network/interfaces中添加静态ip auto eth0iface eth0 inet staticaddress 192.168.31.133netmask 255.255 ...

  9. AI - 机器学习常见算法简介(Common Algorithms)

    机器学习常见算法简介 - 原文链接:http://usblogs.pwc.com/emerging-technology/machine-learning-methods-infographic/ 应 ...

  10. Taro 多端开发的正确姿势:打造三端统一的网易严选(小程序、H5、React Native)

    笔者所在的趣店 FED 早在去年 10 月份就已全面使用 Taro 框架开发小程序(当时版本为 1.1.0-beta.4),至今也上线了 2 个微信小程序.2 个支付宝小程序. 之所以选用 Taro, ...