当前位置: 首页 > wzjs >正文

用nas建设服务器网站宿迁房产查询网上查询系统

用nas建设服务器网站,宿迁房产查询网上查询系统,wordpress 导入,手机网络营销方案设计概述 有时候我们不需要太重的持久层,就像要一个最简的、轻量的持久层,便于维护和扩展,代码掌握在自己手里,那么我们可以基于springboot的自动配置,快速的构建一个自己的持久层轻量框架,不说废话&#…

设计概述

有时候我们不需要太重的持久层,就像要一个最简的、轻量的持久层,便于维护和扩展,代码掌握在自己手里,那么我们可以基于springboot的自动配置,快速的构建一个自己的持久层轻量框架,不说废话,直接上代码,可以根据自己的需要扩展

类图

uses
uses
DbUtils
+insert(String sql, Object... args)
+insert(String sql, Map params)
+update(String sql, Object... args)
+update(String sql, Map params)
+delete(String sql, Object... args)
+delete(String sql, Map params)
+queryForObject(String sql, RowMapper rowMapper, Object... args)
+queryForObject(String sql, Map params)
+query(String sql, RowMapper rowMapper, Object... args)
+query(String sql, Map params)
SqlBuilder
-StringBuilder sql
+SqlBuilder()
+abstract String build()
+append(String part)
+appendWithSpace(String part)
SelectBuilder
+columns(String... columns)
+from(String table)
+where(String condition)
+and(String condition)
+or(String condition)
+limit(int limit)
InsertBuilder
+columns(String... columns)
+values(List values)
+values(Map values)
UpdateBuilder
+set(Map updates)
+where(String condition)
+and(String condition)
+or(String condition)
DeleteBuilder
+where(String condition)
+and(String condition)
+or(String condition)
JdbcTemplate
NamedParameterJdbcTemplate

工程结构

在这里插入图片描述

代码说明

DbUtils.java

这个类是一个工具类,实现了 ApplicationContextAware 接口,用于获取 Spring 应用上下文。它提供了一系列静态方法,用于执行插入、更新、删除和查询操作。这些方法支持两种参数类型:可变参数数组和 Map

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.stereotype.Component;import java.util.List;
import java.util.Map;@Component
public class DbUtils implements ApplicationContextAware {private static ApplicationContext context;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {context = applicationContext;}private static JdbcTemplate getJdbcTemplate() {return context.getBean(JdbcTemplate.class);}private static NamedParameterJdbcTemplate getNamedParameterJdbcTemplate() {return new NamedParameterJdbcTemplate(getJdbcTemplate());}// 插入数据public static void insert(String sql, Object... args) {getJdbcTemplate().update(sql, args);}// 更新数据public static void update(String sql, Object... args) {getJdbcTemplate().update(sql, args);}// 删除数据public static void delete(String sql, Object... args) {getJdbcTemplate().update(sql, args);}// 查询单个对象public static <T> T queryForObject(String sql, RowMapper<T> rowMapper, Object... args) {return getJdbcTemplate().queryForObject(sql, rowMapper, args);}// 查询多个对象public static <T> List<T> query(String sql, RowMapper<T> rowMapper, Object... args) {return getJdbcTemplate().query(sql, rowMapper, args);}// 插入数据public static void insert(String sql, Map<String, Object> params) {getNamedParameterJdbcTemplate().update(sql, params);}// 更新数据public static void update(String sql, Map<String, Object> params) {getNamedParameterJdbcTemplate().update(sql, params);}// 删除数据public static void delete(String sql, Map<String, Object> params) {getNamedParameterJdbcTemplate().update(sql, params);}// 查询单个对象public static Map<String, Object> queryForObject(String sql, Map<String, Object> params) {return getNamedParameterJdbcTemplate().queryForMap(sql, params);}// 查询多个对象public static List<Map<String, Object>> query(String sql, Map<String, Object> params) {return getNamedParameterJdbcTemplate().queryForList(sql, params);}}
  • getJdbcTemplate()getNamedParameterJdbcTemplate() 方法用于获取 JdbcTemplateNamedParameterJdbcTemplate 实例。
  • insert, update, delete 方法用于执行相应的数据库操作。
  • queryForObjectquery 方法用于查询单个对象和多个对象。

sql 子文件夹

SqlBuilder.java

这是一个抽象类,用于构建 SQL 语句。它包含一个 StringBuilder 对象,用于拼接 SQL 语句的各个部分。

// ... existing code ...
protected void append(String part) {sql.append(part);
}
// ... existing code ...
  • append 方法用于直接拼接字符串。
  • appendWithSpace 方法用于在拼接字符串之前添加一个空格。
  • build 方法是一个抽象方法,由子类实现,用于返回最终的 SQL 语句。
SelectBuilder.java

这个类继承自 SqlBuilder,用于构建 SELECT 语句。

// ... existing code ...
public SelectBuilder columns(String... columns) {appendWithSpace(String.join(", ", columns));return this;
}
// ... existing code ...
  • columns 方法用于指定要查询的列。
  • from 方法用于指定查询的表。
  • where, and, or 方法用于添加查询条件。
  • limit 方法用于限制查询结果的数量。
InsertBuilder.java

这个类继承自 SqlBuilder,用于构建 INSERT 语句。

// ... existing code ...
public InsertBuilder columns(String... columns) {appendWithSpace("(");appendWithSpace(String.join(", ", columns));append(")");return this;
}
// ... existing code ...
  • columns 方法用于指定要插入的列。
  • values 方法用于指定要插入的值。支持 ListMap 两种参数类型。
UpdateBuilder.java

这个类继承自 SqlBuilder,用于构建 UPDATE 语句。

// ... existing code ...
public UpdateBuilder set(Map<String, Object> updates) {appendWithSpace("SET");appendWithSpace(updates.keySet().stream().map(key -> key + " = ?").collect(joining(", ")));return this;
}
// ... existing code ...
  • set 方法用于指定要更新的列和值。
  • where, and, or 方法用于添加更新条件。
DeleteBuilder.java

这个类继承自 SqlBuilder,用于构建 DELETE 语句。

// ... existing code ...
public DeleteBuilder where(String condition) {appendWithSpace("WHERE");appendWithSpace(condition);return this;
}
// ... existing code ...
  • where, and, or 方法用于添加删除条件。

完整工程链接(无需积分直接下)

最简持久层工具类

http://www.dtcms.com/wzjs/534684.html

相关文章:

  • 现在 做网站 最流行网上推
  • 中山免备案网站建设网站建设横幅系列素材
  • 泰州公司网站建设银座网上商城官网
  • iis网站筛选器被挂马微信推广平台哪里找
  • 广州网站维护毕设做网站
  • 溧阳有没有做网站的公司时事新闻摘抄
  • 内乡微网站建设cn.wordpress
  • 青海省住房和城乡建设部网站wordpress 环境搭建
  • 如何做公司网站制作下载建设银行官方网站下载
  • 东莞市手机网站建设平台互联网推广专员是做什么的
  • 广告设计网站财政局网站建设方案
  • 代理上海建站公司注册用wps网站栏目做树形结构图
  • 网站运营经验广告联盟大全
  • mvc5网站开发之六百度网页版登录入口
  • 网站正在建设中的网页怎么做莱芜地板街50一次
  • 专业网站制作的公司网站建设规划方案书
  • 做海报的网站什么编辑器沪浙网站
  • 石门县建设局网站开发一款app软件需要多少钱
  • 饶平网站建设公司网页设计的目的与要求
  • 塔城建设局网站网站备案要拍照大家怎么做的啊
  • 做网站用asp好吗网站设计制作费用
  • 做网站用的hu软件景德镇市城市建设规划网站
  • 昆网站制作做网站要用什么编程语言
  • 哈尔滨建站系统wordpress免费服务器
  • 策划案例网站品牌好的佛山网站建设
  • 网站备案负责人修改广州制作网页设计
  • 南通网站建设优化什么网站可以免费做视频软件
  • 网站有几类柳州城乡建设管理局网站
  • 义乌市建设局官方网站企业网站源码 企业网站管理系统
  • 网站页面设计要求在线做3d交互的网站