package com.fei.provider;

import org.apache.ibatis.jdbc.SQL;

import com.fei.domain.User;

public class UserProvider {

	/**
* 新增用户
*
* @return
*/
public String addUser() {
return new SQL() {
{
INSERT_INTO("USER");
VALUES("account_id, name, token, gmt_create, gmt_modified, avatar_url",
"#{accountId}, #{name}, #{token}, #{gmtCreate}, #{gmtModified}, #{avatarUrl}");
}
}.toString();
} /**
* 根据id删除用户
*
* @return
*/
public String delUserById() {
return new SQL() {
{
DELETE_FROM("USER");
WHERE("ID = #{id}");
}
}.toString();
} /**
* 更新用户信息
*
* @param user
* @return
*/
public String updateUser(final User user) {
return new SQL() {
{
UPDATE("USER"); // 条件写法
if (user.getAccountId() != null) {
SET("account_id = #{accountId}");
}
if (user.getName() != null) {
SET("name = #{name}");
}
if (user.getToken() != null) {
SET("token = #{token}");
}
if (user.getGmtCreate() != null) {
SET("gmt_create = #{gmtCreate}");
}
if (user.getGmtModified() != null) {
SET("gmt_modified = #{gmtModified}");
}
if (user.getAvatarUrl() != null) {
SET("avatar_url = #{avatarUrl}");
} WHERE("ID = #{id}");
}
}.toString();
} /**
* 根据id或姓名查询用户
*
* @param id
* @param name
* @return
*/
public String selectUserLike(final String id, final String name) {
return new SQL() {
{
SELECT("u.id, u.account_id, u.name, u.token, u.gmt_create, u.gmt_modified");
FROM("USER u");
if (id != null) {
WHERE("u.id like #{id}");
}
if (name != null) {
WHERE("u.name like #{name}");
}
ORDER_BY("u.id");
}
}.toString();
} // Builder / Fluent style
/**
* 保存用户的第二种写法
*
* @return
*/
public String insertUserSql() {
return new SQL().INSERT_INTO("USER").VALUES("account_id, name, token, gmt_create, gmt_modified",
"#{accountId}, #{name}, #{token}, #{gmtCreate}, #{gmtModified}").toString();
}
}

Provider增删改查的更多相关文章

  1. 【转载】ASP.NET MVC Web API 学习笔记---联系人增删改查

    本章节简单介绍一下使用ASP.NET MVC Web API 做增删改查.目前很多Http服务还是通过REST或者类似RESP的模型来进行数据操作的.下面我们通过创建一个简单的Web API来管理联系 ...

  2. MVC3.0 EF增删改查的封装类

    本人亲身使用EF CodeFirst,因为增删改查都是使用EF内置的一些方法,我想把它封装到一个类调用就行了.结合网上的资料和自己的整理,若有不对的地方望斧正,感激不尽.直接上代码吧.我就用新闻的增删 ...

  3. C#操作Excel数据增删改查(转)

    C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文件,并添加两张工作表. 工作表1: UserInfo表,字段:UserId.UserName.Age.Address.CreateT ...

  4. C#操作Excel数据增删改查示例

    Excel数据增删改查我们可以使用c#进行操作,首先创建ExcelDB.xlsx文件,并添加两张工作表,接下按照下面的操作步骤即可 C#操作Excel数据增删改查. 首先创建ExcelDB.xlsx文 ...

  5. Access增删改查 (持续更新中)

    关于Access数据库(2003)的增删改查,其实和Sql大体差不多,但是还有很多不一样的地方.下面列几个容易犯的错误:  1.Access数据库的位置: conn = new OleDbConnec ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...

  7. Android(java)学习笔记245:ContentProvider使用(银行数据库创建和增删改查的案例)

    1. Android的四大组件: (1)Activity  用户交互的UI界面 (2)Service  后台运行的服务 (3)BroadcastReceiver 广播接收者 (4)ContentPro ...

  8. 【ASP.NET MVC】jqGrid 增删改查详解

    1   概述 本篇文章主要是关于JqGrid的,主要功能包括使用JqGrid增删查改,导入导出,废话不多说,直接进入正题. 2   Demo相关 2.1   Demo展示 第一部分 第二部分 2.2 ...

  9. 一、Android四大框架之ContentProvider的学习与运用,实现SQLite的增删改查。

    本文系原创博客,文中不妥烦请指出,如需转载摘要请注明出处! ContentProvider的学习与运用 Alpha Dog 2016-04-13  10:27:06 首先,项目的地址:https:// ...

随机推荐

  1. Linux_Rsync远程同步备份服务器

    目录 目录 Remote Sync 同步的类型 本地模式 远程模式 RSync列表模式 RSync 服务模式 Setup RSync service How to use the rsync comm ...

  2. TCP 首部格式

    <图解TCP/IP> 6.7  TCP的首部格式 TCP中没有表示包长度和数据长度的字段.可由IP层获知TCP的包长由TCP的包长可知数据的长度. 源端口号:表示发送端端口号,字段长16位 ...

  3. 【FIORI系列】SAP OpenUI5 (SAPUI5) js框架简单介绍

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FIORI系列]SAP OpenUI5 (SA ...

  4. 【Linux开发】【Qt开发】配置tslibs触摸屏库环境设置调试对应的设备挂载点

    [Linux开发][Qt开发]配置tslibs触摸屏库环境设置调试对应的设备挂载点 标签(空格分隔): [Linux开发] [Qt开发] 比如: cat /dev/input/mice cat /de ...

  5. 无法识别的配置节log4net的(Unrecognized configuration section log4net)

    每个配置文件中只允许存在一个 <configSections> 元素,并且,如果存在该元素,它还必须是根 <configuration> 元素的第一个子元素. 问题: I ha ...

  6. SpringBoot 使用 RestTemplate 调用exchange方法 显示错误信息

    SpringBoot使用RestTempate SpringBoot使用RestTemplate摘要认证 SpringBoot使用RestTemplate基础认证 SpringBoot使用RestTe ...

  7. [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)

    Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528   ...

  8. java基础笔记(10)

    Html:载体      CSS:样式   JavaScript:特效 html: 1. <html></html>称为根标签,所有的网页标签都在<html>< ...

  9. Python入门之 Python内置函数

    Python入门之 Python内置函数 函数就是以功能为导向,一个函数封装一个功能,那么Python将一些常用的功能(比如len)给我们封装成了一个一个的函数,供我们使用,他们不仅效率高(底层都是用 ...

  10. angularJS(二):作用域$scope、控制器、过滤器

    app.controller创建控制器 一.作用域 Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. ...