java数据库操作类演示实例分享(java连接数据库)

时间:2024-01-28 03:30:20 


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();
//  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();
  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连接数据库
0
投稿

猜你喜欢

  • Django实现内容缓存实例方法

    2021-04-19 20:47:41
  • Django学习之静态文件与模板详解

    2022-12-13 13:19:58
  • flask route对协议作用及设计思路

    2023-01-19 13:21:34
  • 解决Element中el-date-picker组件不回填的情况

    2024-04-09 11:00:47
  • Python实现约瑟夫环问题的方法

    2021-09-07 19:41:28
  • 深入了解Golang interface{}的底层原理实现

    2024-05-05 09:31:13
  • js取得当前鼠标的X,Y坐标

    2007-09-27 19:52:00
  • 使用springboot通过spi机制加载mysql驱动的过程

    2024-01-27 09:12:26
  • 不要跳转或刷新 实现网页区域选择显示

    2010-07-02 16:25:00
  • Python3运算符常见用法分析

    2023-07-29 07:18:39
  • mssql2005,2008导出数据字典实现方法

    2023-07-23 19:11:30
  • python实现通过pil模块对图片格式进行转换的方法

    2021-03-06 01:55:54
  • IE下修改<p>标签的innerHTML出错

    2007-11-11 10:12:00
  • thinkphp实现图片上传功能分享

    2024-05-22 10:06:36
  • pytorch下使用LSTM神经网络写诗实例

    2022-03-12 13:21:43
  • 空行不空格式排版组织原理

    2010-05-03 14:46:00
  • mysql5.7.19 winx64安装配置方法图文教程(win10)

    2024-01-20 20:12:45
  • MySQL主从复制问题总结及排查过程

    2024-01-15 07:05:44
  • debug case: onsubmit=return false依然能提交

    2009-01-18 13:07:00
  • uni-app使用countdown插件实现倒计时

    2024-05-10 14:15:14
  • asp之家 网络编程 m.aspxhome.com