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. 五、python中MD5加密

    import hashlib '''用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法'''##### ...

  2. java8 stream编程

    说明:这是基于同事的培训材料做的练习,记录下来,以作日后自己coding分析和改进 1.准备 pom.xml <dependency> <groupId>org.apache. ...

  3. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jeewx.weixin_account_user_relation' doesn't exist

    [INFO] Scanning for projects...[INFO] [INFO] ------------------------------------------------------- ...

  4. zstack分配的虚拟机的dns设置

    环境: $ uname -a Linux 10-57-19-61 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x8 ...

  5. 【Linux开发】【DSP开发】利用CCS6.1生成out文件的同时生成bin文件

    [Linux开发][DSP开发]利用CCS6.1生成out文件的同时生成bin文件 标签:[DSP开发] [Linux开发] 尝试在windows上安装的CCS6.1开发AM4378-Linux下的应 ...

  6. 关于migration build failed的问题

    首先一定要执行dotnet restore 查看网站的依赖关系(有时候生成是不报错的但是restore会找不到文件路径) 检查执行命令的路径是否是正确的当前网站路径 build failed一定是生成 ...

  7. GCC 编译参数

    -s 这个参数会把符号表从最终的可执行文件中删除.没有符号表,你就不能用gdb调试了,但是程序会更小 -O0 不做任何优化,这是默认的编译选项 -c 只编译不链接,产生.o文件,就是obj文件,不产生 ...

  8. 使用filebeat收集不同用应用的日志传输到redis,并加以区分

    附加技巧 步骤流程: 使用filebeat收集一台主机上两个不同应用的日志,传递给redis,然后logstash从redis中拉去数据传递给elasticsearch 1.filebeat.yml文 ...

  9. go & cron

    https://github.com/robfig/cron - 源码 cron - GoDoc 参考 go---定时任务 cron,gin 静态文件 go语言里比较好用的计划任务调度模块

  10. django后台返回html字段会产生XSS防护的解决方式

    1.在前端模块里面写 {{  page_str|safe }} 2.在后端 from django.utils.safestring import mark_safe pake_str = mark_ ...