废话没有,直接粘代码
package Util; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.Enumeration; import java.util.List; import java.util.Properties; public class PropertiesUtil extends Properties { private static final long serialVersionUID = 1L; private List<Object> keyList = new ArrayList<Object>(); /** * 默认构造方法 */ public PropertiesUtil() { } /** * 从指定路径加载信息到Properties * @param path */ public PropertiesUtil(String path) { try { InputStream is = new FileInputStream(path); this.load(new InputStreamReader(is, "UTF-8")); } catch (FileNotFoundException e) { e.printStackTrace(); throw new RuntimeException("指定文件不存在!"); } catch (IOException e) { e.printStackTrace(); } } /** * 重写put方法,按照property的存入顺序保存key到keyList,遇到重复的后者将覆盖前者。 */ @Override public synchronized Object put(Object key, Object value) { this.removeKeyIfExists(key); keyList.add(key); return super.put(key, value); } /** * 重写remove方法,删除属性时清除keyList中对应的key。 */ @Override public synchronized Object remove(Object key) { this.removeKeyIfExists(key); return super.remove(key); } /** * keyList中存在指定的key时则将其删除 */ private void removeKeyIfExists(Object key) { keyList.remove(key); } /** * 获取Properties中key的有序集合 * @return */ public List<Object> getKeyList() { return keyList; } /** * 保存Properties到指定文件,默认使用UTF-8编码 * @param path 指定文件路径 */ public void store(String path) { this.store(path, "UTF-8"); } /** * 保存Properties到指定文件,并指定对应存放编码 * @param path 指定路径 * @param charset 文件编码 */ public void store(String path, String charset) { if (path == null || "".equals(path)) { throw new RuntimeException("存储路径不能为空!"); } try { OutputStream os = new FileOutputStream(path); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os, charset)); this.store(bw, null); bw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { } } /** * 重写keys方法,返回根据keyList适配的Enumeration,且保持HashTable keys()方法的原有语义, * 每次都调用返回一个新的Enumeration对象,且和之前的不产生冲突 */ @Override public synchronized Enumeration<Object> keys() { return new EnumerationAdapter<Object>(keyList); } /** * List到Enumeration的适配器 */ private class EnumerationAdapter<T> implements Enumeration<T> { private int index = 0; private final List<T> list; private final boolean isEmpty; public EnumerationAdapter(List<T> list) { this.list = list; this.isEmpty = list.isEmpty(); } public boolean hasMoreElements() { //isEmpty的引入是为了更贴近HashTable原有的语义,在HashTable中添加元素前调用其keys()方法获得一个Enumeration的引用, //之后往HashTable中添加数据后,调用之前获取到的Enumeration的hasMoreElements()将返回false,但如果此时重新获取一个 //Enumeration的引用,则新Enumeration的hasMoreElements()将返回true,而且之后对HashTable数据的增、删、改都是可以在 //nextElement中获取到的。 return !isEmpty && index < list.size(); } public T nextElement() { if (this.hasMoreElements()) { return list.get(index++); } return null; } } }
相关推荐
项目概述: ...本项目基于SSM框架实现了基础的增删改查功能,为用户提供了一个简洁、高效的交互平台,可以快速进行数据的操作和管理。 项目结构清晰,易于维护和扩展,是学习和企业应用开发的良好起点。
Struts2SpringMybatis 增删改查,里面的Struts2,spring,Mybatis配置文件都是模块化的管理,实现了社会版本的配置,不再是个人玩弄的小项目。具体的 sql语句也已经加到了WEBRROT目录下面了,自己下载下来可以详细看...
将于mysql的数据库的连接进行封装,只需呀改变配置文件config.properties中的内容就可以了,配置文件放在src地下!
本项目是一个基于SSM(Spring、SpringMVC、MyBatis)框架的Java企业级增删改查(CRUD)系统源码。该系统主要采用Java语言开发,同时整合了CSS、JavaScript等前端技术。 技术构成: - 后端语言:Java - 前端技术:...
Javaweb学生信息管理系统:基于Java构建,包含263个文件,包括60个Java类文件、44个HTML文件、39个XML配置文件、30...该项目使用jsp和Layui进行开发,提供了一个完整的学生信息管理系统,支持用户信息的增删改查操作。
本设计源码提供了一个基于SSM框架的练习项目。项目包含46个文件,主要使用Java编程语言。...该项目的主要内容包括对数据的增删改查操作,适合用于学习和实践Java技术,以及开发基于SSM框架的数据操作相关的系统。
读资源文件的处理,保存增、删、改、查操作
可以用于快速完成数据库的增删改查操作. 注意,需要自行配置properties 文件以及添加对应数据库的驱动.
管理员:对图书进行增删改查处理,可以对读者进行删除和修改操作,查询所有借阅记录 运行项目步骤: 1.项目导入本地后可能会出现红色感叹号,右键项目properties选择java build path修改对应红叉的配置 2.将sql...
将资源文件(system.properties文件)放在C盘根目录下即可使用。 在资源文件里可以根据不同的数据库类型,端口号,用户名和密码进行配置, 将这个Jar包导入工程之后,可以用来进行JDBC连接,并对数据库中的表进行新增...
1.使用方式 下载后,import到eclipse中,在...update(String sql),findForResultSet(String sql),findForList(String sql)都可以让各个表对应的操作共用,各个表都有对应的javabean对象,增删改查主要是针对这些对
逆向工程极速搭建SSM-Redis-activeMQ... 单表增删改查操作(页面-后台-数据库); mybatis一对一、一对多关联查询; 其他功能请关注SpringBoot版本;码云地址:https://gitee.com/BestJohnny/SSM-Redis-activeMQ-Quartz
本项目采用Java作为主要开发语言,整合了CSS、JavaScript等前端技术,构建了一个基于SSM(Spring、SpringMVC、MyBatis)框架的CRUD(增删改查)操作示例。该示例共包含46个文件,其中: - Java源文件:14个,涵盖了...
java毕业设计项目叮当书城项目|叮当书城项目部署代码视频教程带源码(|java练手项目) 项目文件代码介绍部分内容: 1、首先就是src下面的java文件,...比如bookcontroller里面就是对书籍进行增删改查的一下方法。
这个项目是一个基于JavaSE的学生管理系统,主要实现了用户登录、注册、注销账号以及学生信息的增删查改等功能。项目采用控制台输入输出的方式进行交互,用户账号和密码有一定的输入要求,只有登录成功后才能对学生...
文件解压后当成文件夹导入到src里面就行了 database.properties文件用来设置数据库连接的参数 主要的操作类是BaseDAO 包含了基本数据库操作(增,删,改,查)方法有注释。不过没有给例子。这问题纠结了几天,还是...
基于cs的理发师管理系统,账号:admin 密码:123 分为会员管理模块、会员充值模块、产品管理、员工管理、历史消费以及账务统计等模块,实现基本的增删改查操作。需要自己配置application.properties文件
技术选型 springboot + mybatis + bootstrap + jqgrid + ajax ... a.jqgrid中分页展示古诗词数据(数据库 mysql) 增删改查 b.基于数据库中数据重建es索引库 c.删除所有文档 d.关键词记录 e.远程词典操作
update(String sql),findForResultSet(String sql),findForList(String sql)都可以让各个表对应的操作共用,各个表都有对应的javabean对象,增删改查主要是针对这些对象,体现了oo思想,具体实现查看Dao.java中代码....
整个系统分为前端界面和后端接口两大部分,实现了学生干部信息的增删改查、活动记录的管理以及通讯录的查询等功能。系统功能模块如下:用户登录与注册:用户可以通过输入用户名和密码进行登录,未注册的用户可以先...