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"); // 设置操作的表名,并返回数据库操作对象
}
}


猜你喜欢
- “占位图形”顾名思义是在准备好将最终图形添加到 Web 页之前使用的临时图形。使用它可以在没有理想的图形的情况下先行制作Web页面——在需要
- 函数:strip() lstrip() rstrip()作用:去除字符串中的空格或指定字符一、默认用法:去除空格st
- 通过ip2region解析IP获得地域信息目标,从给的读取给的ip地址文件解析出ip地域名并输出CSV文件,我选用的是开源ip2region
- 我就废话不多说了,大家还是直接看代码吧~<input type="text" maxlength="11
- 通常我们会用wc -l来统计文件行数,不过用Python统计也很简单。要快速统计一个文本文件中的行数,其实就是要统计这个文本文件中换行符的个
- 1.reshapereshape是重塑,常用的三种写法如下:numpy.arange(n).reshape(a, b) &nb
- 目录 一、前言1.1 什么是 import 机制?1.2 import 是如何执行的?二、import 机制概览三、import
- 前言for...in 是Python程序员使用最多的语句,for 循环用于迭代容器对象中的元素,这些对象可以是列表、元组、字典、集合、文件,
- 前言图是一种抽象数据结构,本质和树结构是一样的。图与树相比较,图具有封闭性,可以把树结构看成是图结构的前生。在树结构中,如果把兄弟节点之间或
- 查看两个数据库的同名表的字段名差异问题描述开发过程中有多个测试环境,测试环境 A 加了字段,测试环境 B 忘了加,字段名对不上,同一项目就报
- 目录循环加判断retrying我们在程序开发中,经常会需要请求一些外部的接口资源,而且我们不能保证每次请求一定会成功,所以这些涉及到网络请求
- 本文实例讲述了flask框架自定义过滤器。分享给大家供大家参考,具体如下:除了一些内置的join length safe等过滤器外, fla
- 话不多说,请看代码:<?phpdate_default_timezone_set("PRC"); error_re
- 分别针对ie和火狐分别作了对xml文档和xml字符串的解析,所有代码都注释掉了,想看哪部分功能,去掉注释就可以了。至于在ajax环境下解析x
- 传统的HTML页面中连动下拉框采用了两种方法:1)直接将下拉框中的内容hardcode于html的javascript中,调用javascr
- 一.filter函数简介filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tu
- 基本思路是使用opencv来把随机生成的字符,和随机生成的线段,放到一个随机生成的图像中去。虽然没有加复杂的形态学处理,但是目前看起来效果还
- 喜欢Gucci的优雅吗?或者痴迷美国普普艺术?谷歌中国最近改版的谷歌个性化首页iGoogle集中了近1500个主题,包括近120多位全球顶级
- 本文实例讲述了Python实现简单的文本相似度分析操作。分享给大家供大家参考,具体如下:学习目标:1.利用gensim包分析文档相似度2.使
- -----最近从github上找了一个代码跑,但是cpu训练的时间实在是太长,所以想用gpu训练一下,经过了一天的折腾终于可以用gpu进行训