Provider增删改查

Posted zxfei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Provider增删改查相关的知识,希望对你有一定的参考价值。

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增删改查的主要内容,如果未能解决你的问题,请参考以下文章

C#最基本的数据库增删改查

MyBatis增删改查(步骤详细,由浅入深,适合初学者,只看这一篇就够了)

mysql 的增删改查 实现代码

如何用SSM框架写一个增删改查的功能

如何用SSM框架写一个增删改查的功能

求.net 连ORACLE数据库 增删改查完整代码 代码 要最简单的