只在mysql上测试过,不知道算不算好使
​1. [代码][Java]代码     
package org.load.demo;
 
import java.io.IOException;
import java.util.List;
import java.util.Map;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import com.loadphp.simple4j.ContentValues;
import com.loadphp.simple4j.DB;
import com.loadphp.simple4j.Utils;
 
public class MyServlet extends HttpServlet {
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        String action = req.getParameter("action");
        if("show".equalsIgnoreCase(action)) {
            this.findAll(req, resp);
        }else if("del".equalsIgnoreCase(action)) {
            this.del(req, resp);
        }else if("edit".equalsIgnoreCase(action)) {
            this.find(req, resp);
        }else if("update".equalsIgnoreCase(action)) {
            this.update(req, resp);
        }else if("insert".equalsIgnoreCase(action)) {
            this.insert(req, resp);
        }
    }
 
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        this.doGet(req, resp);
    }
     
 
    private void findAll(final HttpServletRequest req, HttpServletResponse resp) {
//      DB db = this.getDB();flash歌曲
//      List<Map<String, Object>> userList = db.findAll("*");  // 查询全部
//      db.close();
//      req.setAttribute("userList", userList);
//      try {
//          req.getRequestDispatcher("/index.jsp").forward(req, resp);
//      } catch (ServletException e) {
//          e.printStackTrace();
//      } catch (IOException e) {
//          e.printStackTrace();
//      }
         
        DB db = this.getDB();
        db.findAll(new DB.QueryAllCallback() {
            public void callback(List<Map<String, Object>> list) {
                req.setAttribute("userList", list);
            }
        }, "*");
         
        try {
            req.getRequestDispatcher("/index.jsp").forward(req, resp);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
     
    private void del(HttpServletRequest req, HttpServletResponse resp) {
        DB db = this.getDB();
        db.where(new ContentValues().put("id", req.getParameter("id"))).del();
        db.close();
        this.findAll(req, resp);
    }
     
    private void find(final HttpServletRequest req, HttpServletResponse resp) {
        DB db = this.getDB();
//      Map<String, Object> map = db.where(new ContentValues().put("id", req.getParameter("id"))).find(
//              "id", "name", "birthday", "pwd");
         
        db.find(new DB.QueryCallback() {
            public void callback(Map<String, Object> map) {
                req.setAttribute("user", map);
            }
        }, "id","name","birthday");
         
        db.close();
         
        try {
            req.getRequestDispatcher("/edit.jsp").forward(req, resp);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
     
    private void insert(HttpServletRequest req, HttpServletResponse resp) {
        DB db = this.getDB();http://www.huiyi8.com/flashgequ/wangluo/
        db.insert(Utils.params2Array(req, 3, "null","user","birth","pwd"));
        db.close();
        this.findAll(req, resp);
    }
     
    private void update(HttpServletRequest req, HttpServletResponse resp) {
        DB db = this.getDB();
        db.where(new ContentValues().put("id", req.getParameter("id"))).update(
                new ContentValues().put("name", req.getParameter("user"))
                        .put("pwd", Utils.md5(req.getParameter("pwd")))
                        .put("birthday", req.getParameter("birth")));
        db.close();
        this.findAll(req, resp);
    }
     
    private DB getDB() {
//      DB.DRIVER = "com.mysql.jdbc.Driver";               // driver
        DB.URI = "jdbc:mysql://localhost:3306/forjava";    // uri
//      DB.USER = "root";                                  // mysql用户名
//      DB.PWD = "";                                       // mysql密码
        DB.connect("utf-8");                               // 连接数据库并设置编码
        return DB.init("users");                           // 设置操作的表名,并返回数据库操作对象
    }
}

Java数据库操作类演示的更多相关文章

  1. php : mysql数据库操作类演示

    设计目标: 1,该类一实例化,就可以自动连接上mysql数据库: 2,该类可以单独去设定要使用的连接编码(set names XXX) 3,该类可以单独去设定要使用的数据库(use XXX): 4,可 ...

  2. Java 数据库操作类

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  3. Android打造属于自己的数据库操作类。

    1.概述 开发Android的同学都知道sdk已经为我们提供了一个SQLiteOpenHelper类来创建和管理SQLite数据库,通过写一个子类去继承它,就可以方便的创建.管理数据库.但是当我们需要 ...

  4. 复习java数据库操作的总结

    以前学习java数据库操作,学得那叫糊里糊涂,各种JDBC常用的类和接口根本是傻傻分不清啥是干嘛的.只是套着用用吧. 不过这次好歹清楚些了,呜呜,学习有阶段性,多次重复才有好效果,多么痛的领悟. 工程 ...

  5. 扣出thinkphp数据库操作类

    假如你是一位thinkphp的使用者,想必你会觉得thinkphp操作数据库非常方便.现在在你面前有一个非常小的作业,小到完全没有必要用thinkphp去完成它.但是你又觉得不用thinkphp的话, ...

  6. 【知识必备】ezSQL,最好用的数据库操作类,让php操作sql更简单~

    最近用php做了点小东东,用上了ezSQL,感觉真的很ez,所以拿来跟大家分享一下~ ezSQL是一个非常好用的PHP数据库操作类.著名的开源博客WordPress的数据库操作就使用了ezSQL的My ...

  7. PHP 数据库操作类:ezSQL

    EZSQL类介绍: 下载地址:http://www.jb51.net/codes/26393.htmlezsql是一个小型的快速的数据库操作类,可以让你很容易地用PHP操作各种数据库( MySQL.o ...

  8. 通用数据库操作类,前端easyui-datagrid,form

    实现功能:     左端datagrid显示简略信息,右侧显示选中行详细信息,数据库增删改 (1)点击选中行,右侧显示详细信息,其中[新增].[修改].[删除]按钮可用,[保存]按钮禁用 (2)点击[ ...

  9. php MySQL数据库操作类源代码

    php MySQL数据库操作类源代码: <?php class MySQL{ private $host; //服务器地址 private $name; //登录账号 private $pwd; ...

随机推荐

  1. 巴蜀2904 MMT数

    Description FF博士最近在研究MMT数. 如果对于一个数n,存在gcd(n,x)<>1并且n mod x<>0 那么x叫做n的MMT数,显然这样的数可以有无限个. ...

  2. POJ 2002 Squares [hash]

    Squares Time Limit: 3500MS   Memory Limit: 65536K Total Submissions: 16631   Accepted: 6328 Descript ...

  3. 关于内存 转载自http://blog.csdn.net/xluren/article/details/8150723

    首先感谢下原作者,写的真的非常明白,非常详细 1.预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局 ...

  4. CAN 和 CANopen的区别和联系

    1.CAN与CANopen的共同点与不同点:  CAN只定义了物理层与链路层,而没有定义用户层,用户可根据自己的需要定义一些网络上的通信约定:  CANopen是在CAN的基础上定义了用户层,即规定了 ...

  5. CODEVS_1033 蚯蚓的游戏问题 网络流 最小费用流 拆点

    原题链接:http://codevs.cn/problem/1033/ 题目描述 Description 在一块梯形田地上,一群蚯蚓在做收集食物游戏.蚯蚓们把梯形田地上的食物堆积整理如下: a(1,1 ...

  6. oracle-统计员工x

    1. SELECTe.depid,avg(s.bonussalary+s.basesalary) AS avgsal from employ e,salary s where e.employId=s ...

  7. ps --sort排序功能

    ps aux --sort +rss/rss根据内存正序排 ps aux --sort -rss 逆序 ps aux --sort -pid/pid ps aux --sort %cpu/-%cpu ...

  8. 如何推断一个P2P平台是否靠谱?

    推断一个站点,是否靠谱.是有规律可循的.P2P平台算是个新兴的电商类站点.   网上欺诈类的站点.不限于P2P,实在是太多了,真的有必要总结下最关键的几个靠谱指标.   最关键的2个   1.创始人和 ...

  9. CVE-2014-4114 和 CVE-2014-3566

     这两天关注安全的人员都会特别留意这两个新披露的漏洞:CVE-2014-4114 和 CVE-2014-3566.以下我们就针对这两个漏洞最一些简要说明. CVE-2014-4114------- ...

  10. C语言宏定义技巧——多次包括头文件内容不同

    1.  头文件定义例如以下: /* declears in "funcs.h" */ FUNC_1(ID_FUN1_001) FUNC_1(ID_FUN1_002) FUNC_2( ...