Java_常用工具类收集
一、日期工具类
package com.ebd.application.common.utils;import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;import org.apache.commons.lang.time.DateFormatUtils;/*** 日期工具类, 继承org.apache.commons.lang.time.DateUtils类*/
public class DateUtils extends org.apache.commons.lang.time.DateUtils {private static String[] parsePatterns = { "yyyy-MM-dd","yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy/MM/dd","yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" };/*** 得到当前日期字符串 格式(yyyy-MM-dd)*/public static String getDate() {return getDate("yyyy-MM-dd");}/*** Timestamp to Date String*/public static String timestamptoString(Long timestampStr) {Timestamp ts = new Timestamp(timestampStr); String dateStr = ""; DateFormat sdf = new SimpleDateFormat(parsePatterns[1]); try { dateStr = sdf.format(ts); } catch (Exception e) { e.printStackTrace(); }return dateStr;}/*** 得到当前日期字符串 格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"*/public static String getDate(String pattern) {return DateFormatUtils.format(new Date(), pattern);}/*** 得到日期字符串 默认格式(yyyy-MM-dd) pattern可以为:"yyyy-MM-dd" "HH:mm:ss" "E"*/public static String formatDate(Date date, Object... pattern) {String formatDate = null;if (pattern != null && pattern.length > 0) {formatDate = DateFormatUtils.format(date, pattern[0].toString());} else {formatDate = DateFormatUtils.format(date, "yyyy-MM-dd");}return formatDate;}/*** 得到日期时间字符串,转换格式(yyyy-MM-dd HH:mm:ss)*/public static String formatDateTime(Date date) {return formatDate(date, "yyyy-MM-dd HH:mm:ss");}/*** 得到当前时间字符串 格式(HH:mm:ss)*/public static String getTime() {return formatDate(new Date(), "HH:mm:ss");}/*** 得到当前日期和时间字符串 格式(yyyy-MM-dd HH:mm:ss)*/public static String getDateTime() {return formatDate(new Date(), "yyyy-MM-dd HH:mm:ss");}/*** 得到当前年份字符串 格式(yyyy)*/public static String getYear() {return formatDate(new Date(), "yyyy");}/*** 得到当前月份字符串 格式(MM)*/public static String getMonth() {return formatDate(new Date(), "MM");}/*** 得到当天字符串 格式(dd)*/public static String getDay() {return formatDate(new Date(), "dd");}/*** 得到当前星期字符串 格式(E)星期几*/public static String getWeek() {return formatDate(new Date(), "E");}/*** 日期型字符串转化为日期 格式 { "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm",* "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm" }*/public static Date parseDate(Object str) {if (str == null) {return null;}try {return parseDate(str.toString(), parsePatterns);} catch (ParseException e) {return null;}}/*** 获取过去的天数* * @param date* @return*/public static long pastDays(Date date) {long t = new Date().getTime() - date.getTime();return t / (24 * 60 * 60 * 1000);}public static Date getDateStart(Date date) {if (date == null) {return null;}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {date = sdf.parse(formatDate(date, "yyyy-MM-dd") + " 00:00:00");} catch (ParseException e) {e.printStackTrace();}return date;}public static Date getDateEnd(Date date) {if (date == null) {return null;}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");try {date = sdf.parse(formatDate(date, "yyyy-MM-dd") + " 23:59:59");} catch (ParseException e) {e.printStackTrace();}return date;}}
二、文件目录工具
package com.ebd.application.common.utils;import java.io.File;
import java.io.IOException;public class CreateFileUtil {public static boolean createFile(String destFileName) { File file = new File(destFileName); if(file.exists()) { System.out.println("创建单个文件" + destFileName + "失败,目标文件已存在!"); return false; } if (destFileName.endsWith(File.separator)) { System.out.println("创建单个文件" + destFileName + "失败,目标文件不能为目录!"); return false; } //判断目标文件所在的目录是否存在 if(!file.getParentFile().exists()) { //如果目标文件所在的目录不存在,则创建父目录 System.out.println("目标文件所在目录不存在,准备创建它!"); if(!file.getParentFile().mkdirs()) { System.out.println("创建目标文件所在目录失败!"); return false; } } //创建目标文件 try { if (file.createNewFile()) { System.out.println("创建单个文件" + destFileName + "成功!"); return true; } else { System.out.println("创建单个文件" + destFileName + "失败!"); return false; } } catch (IOException e) { e.printStackTrace(); System.out.println("创建单个文件" + destFileName + "失败!" + e.getMessage()); return false; } } public static boolean createDir(String destDirName) { File dir = new File(destDirName); if (dir.exists()) { System.out.println(destDirName + "目录已经存在"); return true; } if (!destDirName.endsWith(File.separator)) { destDirName = destDirName + File.separator; } //创建目录 if (dir.mkdirs()) { System.out.println("创建目录" + destDirName + "成功!"); return true; } else { System.out.println("创建目录" + destDirName + "失败!"); return false; } } public static String createTempFile(String prefix, String suffix, String dirName) { File tempFile = null; if (dirName == null) { try{ //在默认文件夹下创建临时文件 tempFile = File.createTempFile(prefix, suffix); //返回临时文件的路径 return tempFile.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); System.out.println("创建临时文件失败!" + e.getMessage()); return null; } } else { File dir = new File(dirName); //如果临时文件所在目录不存在,首先创建 if (!dir.exists()) { if (!CreateFileUtil.createDir(dirName)) { System.out.println("创建临时文件失败,不能创建临时文件所在的目录!"); return null; } } try { //在指定目录下创建临时文件 tempFile = File.createTempFile(prefix, suffix, dir); return tempFile.getCanonicalPath(); } catch (IOException e) { e.printStackTrace(); System.out.println("创建临时文件失败!" + e.getMessage()); return null; } } } public static void main(String[] args) { //创建目录 String dirName = "D:/work/temp/temp0/temp1"; CreateFileUtil.createDir(dirName); //创建文件 String fileName = dirName + "/temp2/tempFile.txt"; CreateFileUtil.createFile(fileName); //创建临时文件 String prefix = "temp"; String suffix = ".txt"; for (int i = 0; i < 10; i++) { System.out.println("创建了临时文件:" + CreateFileUtil.createTempFile(prefix, suffix, dirName)); } //在默认目录下创建临时文件 for (int i = 0; i < 10; i++) { System.out.println("在默认目录下创建了临时文件:" + CreateFileUtil.createTempFile(prefix, suffix, null)); } }
}
三、中文判断工具类
package com.ebd.application.common.utils;import java.util.regex.Pattern;/*** 中文判断工具类 * @author Administrator*/
public class CharUtil {public static void main(String[] args) {String[] strArr = new String[] { "www.micmiu.com", "!@#$%^&*()_+{}[]|\"'?/:;<>,.", "!¥……()——:;“”‘’《》,。?、", "不要啊", "やめて", "韩佳人", "???" };for (String str : strArr) {System.out.println("===========> 测试字符串:" + str);System.out.println("正则判断结果:" + isChineseByREG(str) + " -- " + isChineseByName(str));System.out.println("Unicode判断结果 :" + isChinese(str));System.out.println("详细判断列表:");char[] ch = str.toCharArray();for (int i = 0; i < ch.length; i++) {char c = ch[i];System.out.println(c + " --> " + (isChinese(c) ? "是" : "否"));}}}// 根据Unicode编码完美的判断中文汉字和符号private static boolean isChinese(char c) {Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION) {return true;}return false;}// 完整的判断中文汉字和符号public static boolean isChinese(String strName) {char[] ch = strName.toCharArray();for (int i = 0; i < ch.length; i++) {char c = ch[i];if (isChinese(c)) {return true;}}return false;}// 只能判断部分CJK字符(CJK统一汉字)public static boolean isChineseByREG(String str) {if (str == null) {return false;}Pattern pattern = Pattern.compile("[\\u4E00-\\u9FBF]+");return pattern.matcher(str.trim()).find();}// 只能判断部分CJK字符(CJK统一汉字)public static boolean isChineseByName(String str) {if (str == null) {return false;}// 大小写不同:\\p 表示包含,\\P 表示不包含// \\p{Cn} 的意思为 Unicode 中未被定义字符的编码,\\P{Cn} 就表示 Unicode中已经被定义字符的编码String reg = "\\p{InCJK Unified Ideographs}&&\\P{Cn}";Pattern pattern = Pattern.compile(reg);return pattern.matcher(str.trim()).find();}
}
四、文件上传工具
package com.ebd.application.common.utils;import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils;
import org.springframework.web.multipart.MultipartFile;public class FileUploadUtils {public static final String UPLOAD_URL = "c:/pp";/*** 上传图片,图片的名称filename是根据时间+随机数组装成的* @param file MultipartFile file* @param request HttpServletRequest request,* @param uploadDir 上传的目的文件夹* @return 返回文件的上传地址 (uploadDir/filename)*/public static String upload(MultipartFile file, HttpServletRequest request,String uploadDir) {String logoUrl = null;if (file != null && !file.isEmpty()) {System.out.println(request.getSession().getServletContext());String filePath = request.getSession().getServletContext().getRealPath(uploadDir);//目录不存在时,新建目录createDirectory(filePath);//得到原图片的后缀名String srcfilename = file.getOriginalFilename();String suffix=srcfilename.substring(srcfilename.lastIndexOf("."));//组装新图片的名称SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS");String format = dateFormat.format(new Date());String filename = format+ new Random().nextInt(1000000)+suffix;File destFile = new File(filePath, filename);//如果文件存在,继续随机名称while(destFile.exists()){filename = format+ new Random().nextInt(1000000)+suffix;destFile = new File(filePath, filename);}try {file.transferTo(destFile);logoUrl = uploadDir + "/" + filename;} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}return logoUrl;}/*** 上传文件,文件名为源文件的名称* @param file* @param request* @param uploadDir* @return 上传文件的路径:uploadDir + "/" + srcfilename*/public static String uploadFile(MultipartFile file, HttpServletRequest request,String uploadDir) {String logoUrl = null;if (file != null && !file.isEmpty()) {//获取上传文件夹的真实地址String dirPath = request.getSession().getServletContext().getRealPath(uploadDir);//目录不存在时,新建目录createDirectory(dirPath);//得到源文件的名称String srcfilename = file.getOriginalFilename();//构建目标文件File destFile = new File(dirPath, srcfilename);try {//上传文件file.transferTo(destFile);logoUrl = uploadDir + "/" + srcfilename;} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}return logoUrl;}/*** 新建目录* @param dirPath*/public static void createDirectory(String dirPath){if(StringUtils.isNotBlank(dirPath)){// 获得文件对象 File file = new File(dirPath);if(!file.exists()){// 如果路径不存在,则创建 file.mkdirs();}}}/** * 删除单个文件 * @param path 被删除文件的文件名 * @return 单个文件删除成功返回true,否则返回false */ public static boolean deleteFile(String path){boolean flag = false;File file = new File(path);// 路径为文件且不为空则进行删除 if(file.isFile() && file.exists()){file.delete();flag = true;}return flag;}/*** 生产缩略图* @param src 原图* @param dir 缩略图* @param fileName 缩略图名称* @return*/public static String thumb(File src,File dir,String fileName,int nw,int nh){try { /* AffineTransform 类表示 2D 仿射变换,它执行从 2D 坐标到其他 2D 坐标的线性映射,保留了线的“直线性”和“平行性”。可以使用一系 列平移、缩放、翻转、旋转和剪切来构造仿射变换。 */ AffineTransform transform = new AffineTransform();//读取图片 BufferedImage bis = ImageIO.read(src); int w = bis.getWidth(); int h = bis.getHeight(); double sx = (double)nw/w; double sy = (double)nh/h; //将此变换设置为缩放变换。 transform.setToScale(sx,sy); /* * AffineTransformOp类使用仿射转换来执行从源图像或 Raster 中 2D 坐标到目标图像或 * Raster 中 2D 坐标的线性映射。所使用的插值类型由构造方法通过 * 一个 RenderingHints 对象或通过此类中定义的整数插值类型之一来指定。 * 如果在构造方法中指定了 RenderingHints 对象,则使用插值提示和呈现 * 的质量提示为此操作设置插值类型。要求进行颜色转换时,可以使用颜色 * 呈现提示和抖动提示。 注意,务必要满足以下约束:源图像与目标图像 * 必须不同。 对于 Raster 对象,源图像中的 band 数必须等于目标图像中 * 的 band 数。 */ AffineTransformOp ato = new AffineTransformOp(transform,null); BufferedImage bid = new BufferedImage(nw,nh,BufferedImage.TYPE_3BYTE_BGR); /* * TYPE_3BYTE_BGR 表示一个具有 8 位 RGB 颜色分量的图像, * 对应于 Windows 风格的 BGR 颜色模型,具有用 3 字节存 * 储的 Blue、Green 和 Red 三种颜色。 */ ato.filter(bis,bid); ImageIO.write(bid,"jpeg",dir); } catch(Exception e) { e.printStackTrace(); } return dir + "/" + fileName;}/** * 复制整个文件夹内容 * @param oldPath * @param newPath * @return boolean */ public static void copyFolder(String oldPath, String newPath) {try { //如果文件夹不存在 则建立新文件夹 (new File(newPath)).mkdirs(); File a=new File(oldPath); String[] file=a.list(); File temp=null; for (int i = 0; i < file.length; i++) { if(oldPath.endsWith(File.separator)){ temp=new File(oldPath+file[i]); } else{ temp=new File(oldPath+File.separator+file[i]); }if(temp.isFile()){ FileInputStream input = new FileInputStream(temp); FileOutputStream output = new FileOutputStream(newPath + "/" + (temp.getName()).toString()); byte[] b = new byte[1024 * 5]; int len; while ( (len = input.read(b)) != -1) { output.write(b, 0, len); } output.flush(); output.close(); input.close(); } if(temp.isDirectory()){//如果是子文件夹 copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]); } } } catch (Exception e) { System.out.println("复制整个文件夹内容操作出错"); e.printStackTrace();}}/** * 删除文件夹 * @param filePathAndName* @param fileContent* @return boolean */ public static void delFolder(String folderPath) { try { delAllFile(folderPath); //删除完里面所有内容 String filePath = folderPath; filePath = filePath.toString(); java.io.File myFilePath = new java.io.File(filePath); myFilePath.delete(); //删除空文件夹} catch (Exception e) { System.out.println("删除文件夹操作出错"); e.printStackTrace();}}/** * 删除文件夹里面的所有文件 * @param path*/ public static void delAllFile(String path) { File file = new File(path); if (!file.exists()) { return; } if (!file.isDirectory()) { return; } String[] tempList = file.list(); File temp = null; for (int i = 0; i < tempList.length; i++) { if (path.endsWith(File.separator)) { temp = new File(path + tempList[i]); } else { temp = new File(path + File.separator + tempList[i]); } if (temp.isFile()) { temp.delete(); } if (temp.isDirectory()) { delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件 delFolder(path+"/"+ tempList[i]);//再删除空文件夹 } } }/** * 移动文件到指定目录 * @param oldPath* @param newPath */ public static void moveFile(String oldPath, String newPath) { copyFolder(oldPath, newPath); delFolder(oldPath);}public static void main(String[] args) {// System.out.println(new Date().getTime());
// System.out.println(String.valueOf(new Date().getTime()));File f =new File("TileTest.doc");
// String fileName="TileTest....6.6doc";
// String prefix=fileName.substring(fileName.lastIndexOf("."));
// System.out.println(prefix);
// System.out.println(new Random().nextInt(1000000));
// System.out.println(new Random().nextInt(1000000));
// File f = new File("d:/1.txt");
// System.out.println(f.exists());File src = new File("D:\\dcd01448724c402a8cf8b852e1307510\\qrcode_for_gh_cf64bce34a18_344.jpg");File dir = new File("D:\\dcd01448724c402a8cf8b852e1307510");
// File src = new File("D:\\architecture\\vungu\\workspace0428\\vp-standweb\\src\\main\\webapp\\fileUpload\\images\\subscribe\\dcd01448724c402a8cf8b852e1307510\\20160120171448178836077.png");
// File dir = new File("D:\\architecture\\vungu\\workspace0428\\vp-standweb\\src\\main\\webapp\\fileUpload\\images\\subscribe\\dcd01448724c402a8cf8b852e1307510");String fileName = "20160120171448178836077thumb.jpg";int nw=360;int nh=200;thumb(src, dir, fileName, nw, nh);}
}
五、UUID简单工具
package com.ebd.application.common.utils;import java.security.SecureRandom;
import java.util.UUID;public class Identities {private static SecureRandom random = new SecureRandom();public static String uuid() {return UUID.randomUUID().toString().replaceAll("-", "");}public static long randomLong() {return Math.abs(random.nextLong());}}
六、JDBC工具
package com.ebd.application.common.utils;import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; /*** JDBC工具类* @author Administrator*/
public class JdbcUtils {//数据库用户名 private static final String USERNAME = "root"; //数据库密码 private static final String PASSWORD = "root"; //驱动信息 private static final String DRIVER = "com.mysql.jdbc.Driver"; //数据库地址 private static final String URL = "jdbc:mysql://localhost:3306/test"; private Connection connection; private PreparedStatement pstmt; private ResultSet resultSet; public JdbcUtils() { // TODO Auto-generated constructor stub try{ Class.forName(DRIVER); System.out.println("数据库连接成功!"); }catch(Exception e){ } } /** * 获得数据库的连接 * @return */ public Connection getConnection(){ try { connection = DriverManager.getConnection(URL, USERNAME, PASSWORD); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return connection; } /** * 增加、删除、改 * @param sql * @param params * @return * @throws SQLException */ public boolean updateByPreparedStatement(String sql, List<Object> params)throws SQLException{ boolean flag = false; int result = -1; pstmt = connection.prepareStatement(sql); int index = 1; if(params != null && !params.isEmpty()){ for(int i=0; i<params.size(); i++){ pstmt.setObject(index++, params.get(i)); } } result = pstmt.executeUpdate(); flag = result > 0 ? true : false; return flag; } /** * 查询单条记录 * @param sql * @param params * @return * @throws SQLException */ public Map<String, Object> findSimpleResult(String sql, List<Object> params) throws SQLException{ Map<String, Object> map = new HashMap<String, Object>(); int index = 1; pstmt = connection.prepareStatement(sql); if(params != null && !params.isEmpty()){ for(int i=0; i<params.size(); i++){ pstmt.setObject(index++, params.get(i)); } } resultSet = pstmt.executeQuery();//返回查询结果 ResultSetMetaData metaData = resultSet.getMetaData(); int col_len = metaData.getColumnCount(); while(resultSet.next()){ for(int i=0; i<col_len; i++ ){ String cols_name = metaData.getColumnName(i+1); Object cols_value = resultSet.getObject(cols_name); if(cols_value == null){ cols_value = ""; } map.put(cols_name, cols_value); } } return map; } /**查询多条记录 * @param sql * @param params * @return * @throws SQLException */ public List<Map<String, Object>> findModeResult(String sql, List<Object> params) throws SQLException{ List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); int index = 1; pstmt = connection.prepareStatement(sql); if(params != null && !params.isEmpty()){ for(int i = 0; i<params.size(); i++){ pstmt.setObject(index++, params.get(i)); } } resultSet = pstmt.executeQuery(); ResultSetMetaData metaData = resultSet.getMetaData(); int cols_len = metaData.getColumnCount(); while(resultSet.next()){ Map<String, Object> map = new HashMap<String, Object>(); for(int i=0; i<cols_len; i++){ String cols_name = metaData.getColumnName(i+1); Object cols_value = resultSet.getObject(cols_name); if(cols_value == null){ cols_value = ""; } map.put(cols_name, cols_value); } list.add(map); } return list; } /**通过反射机制查询单条记录 * @param sql * @param params * @param cls * @return * @throws Exception */ public <T> T findSimpleRefResult(String sql, List<Object> params, Class<T> cls )throws Exception{ T resultObject = null; int index = 1; pstmt = connection.prepareStatement(sql); if(params != null && !params.isEmpty()){ for(int i = 0; i<params.size(); i++){ pstmt.setObject(index++, params.get(i)); } } resultSet = pstmt.executeQuery(); ResultSetMetaData metaData = resultSet.getMetaData(); int cols_len = metaData.getColumnCount(); while(resultSet.next()){ //通过反射机制创建一个实例 resultObject = cls.newInstance(); for(int i = 0; i<cols_len; i++){ String cols_name = metaData.getColumnName(i+1); Object cols_value = resultSet.getObject(cols_name); if(cols_value == null){ cols_value = ""; } Field field = cls.getDeclaredField(cols_name); field.setAccessible(true); //打开javabean的访问权限 field.set(resultObject, cols_value); } } return resultObject; } /**通过反射机制查询多条记录 * @param sql * @param params * @param cls * @return * @throws Exception */ public <T> List<T> findMoreRefResult(String sql, List<Object> params, Class<T> cls )throws Exception { List<T> list = new ArrayList<T>(); int index = 1; pstmt = connection.prepareStatement(sql); if(params != null && !params.isEmpty()){ for(int i = 0; i<params.size(); i++){ pstmt.setObject(index++, params.get(i)); } } resultSet = pstmt.executeQuery(); ResultSetMetaData metaData = resultSet.getMetaData(); int cols_len = metaData.getColumnCount(); while(resultSet.next()){ //通过反射机制创建一个实例 T resultObject = cls.newInstance(); for(int i = 0; i<cols_len; i++){ String cols_name = metaData.getColumnName(i+1); Object cols_value = resultSet.getObject(cols_name); if(cols_value == null){ cols_value = ""; } Field field = cls.getDeclaredField(cols_name); field.setAccessible(true); //打开javabean的访问权限 field.set(resultObject, cols_value); } list.add(resultObject); } return list; } /** * 释放数据库连接 */ public void releaseConn(){ if(resultSet != null){ try{ resultSet.close(); }catch(SQLException e){ e.printStackTrace(); } } } /** * @param args */ public static void main(String[] args) throws SQLException { // TODO Auto-generated method stub JdbcUtils jdbcUtils = new JdbcUtils(); jdbcUtils.getConnection(); /*******************增*********************/ /* String sql = "insert into userinfo (username, pswd) values (?, ?), (?, ?), (?, ?)"; List<Object> params = new ArrayList<Object>(); params.add("小明"); params.add("123xiaoming"); params.add("张三"); params.add("zhangsan"); params.add("李四"); params.add("lisi000"); try { boolean flag = jdbcUtils.updateByPreparedStatement(sql, params); System.out.println(flag); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ /*******************删*********************/ //删除名字为张三的记录 /* String sql = "delete from userinfo where username = ?"; List<Object> params = new ArrayList<Object>(); params.add("小明"); boolean flag = jdbcUtils.updateByPreparedStatement(sql, params);*/ /*******************改*********************/ //将名字为李四的密码改了 /* String sql = "update userinfo set pswd = ? where username = ? "; List<Object> params = new ArrayList<Object>(); params.add("lisi88888"); params.add("李四"); boolean flag = jdbcUtils.updateByPreparedStatement(sql, params); System.out.println(flag);*/ /*******************查*********************/ //不利用反射查询多个记录 /* String sql2 = "select * from userinfo "; List<Map<String, Object>> list = jdbcUtils.findModeResult(sql2, null); System.out.println(list);*/ //利用反射查询 单条记录
// String sql = "select * from userinfo where username = ? ";
// List<Object> params = new ArrayList<Object>();
// params.add("李四");
// UserInfo userInfo;
// try {
// userInfo = jdbcUtils.findSimpleRefResult(sql, params, UserInfo.class);
// System.out.print(userInfo);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// } String sql2 = "select * from student "; List<Map<String, Object>> list = jdbcUtils.findModeResult(sql2, null); System.out.println(list);}
}
七、JsonUtil
package com.ebd.application.common.utils;import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.lang3.BooleanUtils;import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;public class JsonUtil extends BaseController{@SuppressWarnings("unused")private HttpServletRequest request;private HttpServletResponse response ;public JsonUtil(HttpServletRequest request, HttpServletResponse response) {this.request = request;this.response = response;}/*** ajax后台封装jsonString* @param jsonStr* @throws IOException*/public void sendJson(String jsonStr) throws IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();out.print(jsonStr);out.flush();out.close();}/*** json字符串转成Java的Array数组* @param json* @param clazz* @return*/@SuppressWarnings("rawtypes")public static Object[] readJSON2Array(String json, Class clazz) {JSONArray jsonArray = JSONArray.fromObject(json);Object[] infoList = (Object[]) JSONArray.toArray(jsonArray, clazz);return infoList;}/*** JSON字符串转成Java的List集合* @param json* @param clazz* @return*/@SuppressWarnings({ "rawtypes", "deprecation" })public static List<?> readJSON2List(String json, Class clazz) {JSONArray jsonArray = JSONArray.fromObject(json);List<?> infoList = JSONArray.toList(jsonArray, clazz);return infoList;}/*** JSON对象反序列化成Java对象* @param json* @param clazz* @return*/@SuppressWarnings("rawtypes")public static Object readJSON2Bean(String json, Class clazz) {JSONObject jsonObject = JSONObject.fromObject(json);Object bean = JSONObject.toBean(jsonObject, clazz);return bean;}/*** 生成json格式串* @param bean* @param isSeri* @param isFix* @return*/public static String writeBean2JSON(Object bean, boolean isSeri, boolean isFix) {if (bean == null) {return null;}String jsonStr = null;if (BooleanUtils.isTrue(isSeri)) {jsonStr = JSONSerializer.toJSON(bean).toString();if (BooleanUtils.isTrue(isFix)) {jsonStr = "[" + jsonStr + "]";}} else {if (BooleanUtils.isTrue(isFix)) {jsonStr = JSONArray.fromObject(bean).toString();} else {jsonStr = JSONObject.fromObject(bean).toString();}}return jsonStr;}/*** List生成Json* @param list* @param isSeri* @param isFix* @return*/public static String writeList2JSON(List<?> list, boolean isSeri,boolean isFix) {if (list == null) {return null;}String jsonStr = null;if (BooleanUtils.isTrue(isSeri)) {// 需要序列化jsonStr = JSONSerializer.toJSON(list).toString();if (BooleanUtils.isTrue(isFix)) {jsonStr = "[" + jsonStr + "]";}} else {if (BooleanUtils.isTrue(isFix)) {jsonStr = JSONArray.fromObject(list).toString();} else {jsonStr = JSONObject.fromObject(list).toString();}}return jsonStr;}/*** Map生成Json* @param map* @param isSeri* @param isFix* @return*/public static String writeMap2JSON(Map<String, Object> map, boolean isSeri,boolean isFix) {String jsonStr = null;if (BooleanUtils.isTrue(isSeri)) {// 序列化jsonStr = JSONSerializer.toJSON(map).toString();if (BooleanUtils.isTrue(isFix)) {jsonStr = "[" + jsonStr + "]";}} else {if (BooleanUtils.isTrue(isFix)) {jsonStr = JSONArray.fromObject(map).toString();} else {jsonStr = JSONObject.fromObject(map).toString();}}return jsonStr;}/*** Json串转为Bean* @param json* @param clazz* @param subList* @return*/@SuppressWarnings("rawtypes")public static Object readJSON2Bean(String json, Class clazz, Map<String, Object> subList) {JSONObject jsonObject = JSONObject.fromObject(json);Object bean = JSONObject.toBean(jsonObject, clazz, subList);return bean;}
}
八、SpringUtils
package com.ebd.application.common.utils;import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.beans.factory.config.BeanFactoryPostProcessor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;public final class SpringUtils implements BeanFactoryPostProcessor {private static ConfigurableListableBeanFactory beanFactory; // Spring应用上下文环境public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {SpringUtils.beanFactory = beanFactory;}/*** 获取对象* @param name* @return Object 一个以所给名字注册的bean的实例* @throws org.springframework.beans.BeansException*/@SuppressWarnings("unchecked")public static <T> T getBean(String name) throws BeansException {return (T) beanFactory.getBean(name);}/*** 获取类型为requiredType的对象* @param clz* @return* @throws org.springframework.beans.BeansException* */public static <T> T getBean(Class<T> clz) throws BeansException {T result = (T) beanFactory.getBean(clz);return result;}/*** 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true* * @param name* @return boolean*/public static boolean containsBean(String name) {return beanFactory.containsBean(name);}/*** 判断以给定名字注册的bean定义是一个singleton还是一个prototype。* 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)* * @param name* @return boolean* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException* */public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {return beanFactory.isSingleton(name);}/*** @param name* @return Class 注册对象的类型* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException* */public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {return beanFactory.getType(name);}/*** 如果给定的bean名字在bean定义中有别名,则返回这些别名* * @param name* @return* @throws org.springframework.beans.factory.NoSuchBeanDefinitionException* */public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {return beanFactory.getAliases(name);}}
转载于:https://www.cnblogs.com/eRrsr/p/8368236.html
Java_常用工具类收集相关推荐
- Android开发常用工具类集合
转载自:https://blog.csdn.net/xiaoyi_tdcq/article/details/52902844 Android开发常用工具类集合 android开发中为了避免重复造轮子, ...
- commons-lang3-3.2.jar中的常用工具类的使用
这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /*** StringUti ...
- commons-lang常用工具类StringEscapeUtils使用--转
https://my.oschina.net/ydsakyclguozi/blog/341496 在apache commons-lang(2.3以上版本)中为我们提供了一个方便做转义的工具类,主要是 ...
- utils C/C++的常用工具类
yaocoder/utils · GitHub utils C/C++的常用工具类 Common Utilities class and function (C/C++) src --algorith ...
- java file ip_java常用工具类 IP、File文件工具类
本文实例为大家分享了java常用工具类的具体实现代码,供大家参考,具体内容如下 IP工具类 package com.jarvis.base.util; import java.io.IOExcepti ...
- javascript 总结(常用工具类的封装)(转)
转载地址:http://dzblog.cn/article/5a6f48afad4db304be1e7a5f javascript 总结(常用工具类的封装) JavaScript 1. type 类型 ...
- apache-commons 常用工具类
引用包说明 本文引用的所有包如下 <dependency><groupId>org.apache.commons</groupId><artifactId&g ...
- javascript 总结(常用工具类的封装,转)
javascript 总结(常用工具类的封装) 前言 因为工作中经常用到这些方法,所有便把这些方法进行了总结. JavaScript 1. type 类型判断 isString (o) { //是否字 ...
- 6章:常用工具类以及函数
2019独角兽企业重金招聘Python工程师标准>>> <div class="box"><div class="w_320" ...
最新文章
- tensorflow model.compile() 示例
- @entity 不限字节长度的类型_在微信程序员眼里,1024字节能玩出什么花样?
- JBoss Fuse:使用JEXL的动态蓝图文件
- keras.metrics中的accuracy
- switch语句使用注意事项
- mysql连接不上远程数据库_Mysql 连接不上远程数据库,求助
- font-familly:' 阿里巴巴-普惠体 '【永久免费 】 - 下载与使用
- 英文操作系统下WebBrowser控件无法显示本地页面的解决方法
- jQuery Event 模块 源码浅解
- 高中生住校好还是走读好?为什么?
- 原创:2016.4.25-2016.5.1 C# informal essay and tittle_tattle
- css被点击后改变样式,Js 通过点击改变css样式
- 微端服务器物品备注,GOM引擎定制功能可视化仓库+物品备注脚本
- el-select 默认选中值
- 求一阶微分方程通解和特解
- python填充三角形颜色怎么输入_用Python填充三角形(海龟)
- input 标签的属性class是什么作用?
- Wireshark实验——了解PDU
- [项目管理]-- 项目开发流程(基本流程)
- lambda no instance(s) of type variable(s) T exist so that void conforms to R