Java常用工具类集合(一)

写在前面
 
本文涉及的工具类部分是自己编写,另一部分是在项目里收集的。工具类涉及数据库连接、格式转换、文件操作、发送邮件等等。提高开发效率,欢迎收藏与转载。
 
数据库连接工具类
 

数据库连接工具类——仅仅获得连接对象 ConnDB.java

[java] view plain copy
package com.util;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
  
/** 
 * 数据库连接工具类——仅仅获得连接对象 
 * 
 */  
public class ConnDB {  
      
    private static Connection conn = null;  
      
    private static final String DRIVER_NAME = "com.mysql.jdbc.Driver";  
  
    private static final String URL = "jdbc:mysql://localhost:3306/axt?useUnicode=true&characterEncoding=UTF-8";  
  
    private static final String USER_NAME = "root";  
  
    private static final String PASSWORD = "root";  
      
    public static Connection getConn(){  
        try {  
            Class.forName(DRIVER_NAME);  
            conn = DriverManager.getConnection(URL, USER_NAME, PASSWORD);  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
        return conn;  
    }  
} 
数据库连接工具类——包含取得连接和关闭资源 ConnUtil.java

 
[java] view plain copy
package com.util;  
  
import java.sql.Connection;  
import java.sql.DriverManager;  
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
  
  
/**  
 * @className: ConnUtil.java 
 * @classDescription: 数据库连接工具类——包含取得连接和关闭资源  
 * @function:  
 * @author: Wentasy 
 * @createTime: 2012-9-24 上午11:51:15 
 * @modifyTime:  
 * @modifyReason:  
 * @since: JDK 1.6 
 */  
public class ConnUtil {  
    public static final String url = "jdbc:mysql://XXX.XXX.XXX.XXX:3306/dbadapter";  
    public static final String user = "root";  
    public static final String password = "XXXXXX";  
      
    /** 
     * 得到连接 
     * @return 
     * @throws SQLException 
     * @throws ClassNotFoundException 
     */  
    public static Connection establishConn() throws SQLException,ClassNotFoundException{  
        Class.forName("com.mysql.jdbc.Driver");  
        return DriverManager.getConnection(url, user, password);  
    }  
      
    /** 
     * 关闭连接 
     * @param conn 
     * @throws SQLException 
     */  
    public static void close(Connection conn) throws SQLException{  
        if(conn != null){  
            conn.close();  
            conn = null;  
        }  
    }  
      
    /** 
     * 关闭PreparedStatement 
     * @param pstmt 
     * @throws SQLException 
     */  
    public static void close(PreparedStatement pstmt) throws SQLException{  
        if(pstmt != null){  
            pstmt.close();  
            pstmt = null;  
        }  
    }  
      
    /** 
     * 关闭结果集 
     * @param rs 
     * @throws SQLException 
     */  
    public static void close(ResultSet rs) throws SQLException{  
        if(rs != null){  
            rs.close();  
            rs = null;  
        }  
    }  
}  
 
格式转换工具类

 
日期转换工具类 CommUtil.java

[java] view plain copy
package com.util;  
  
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
  
/** 
 * 日期转换工具类 
 */  
public class CommUtil {  
  
    /** 
     * 将日期格式转换成yyyy-MM-dd的字符串格式 
     * 返回值如:2010-10-06 
     * @param time 要转换的日期 
     * @return 
     */  
    public static  String dateToString(Date time)  {  
          
        SimpleDateFormat formatter = new  SimpleDateFormat ("yyyy-MM-dd"); //定义将日期格式要换成的格式  
        String stringTime  =  formatter.format(time);  
      
        return  stringTime;  
          
      }  
    /** 
     * 将日期格式转换成yyyyMMdd的字符串格式 
     * 返回值如:2010-10-06 
     * @param time 要转换的日期 
     * @return 
     */  
    public static  String dateTimeToString(Date time)  {  
          
        SimpleDateFormat formatter = new  SimpleDateFormat ("yyyyMMdd"); //定义将日期格式要换成的格式  
        String stringTime  =  formatter.format(time);  
      
        return  stringTime;  
          
      }  
      
       
    /** 
     * 将日期格式转换成yyyy-MM-dd的字符串格式 
     * 返回值如:2010-10-06 
     * @param time 要转换的日期 
     * @return 
     */  
    public static  Date dateToDate(Date time)  {  
          
        SimpleDateFormat formatter = new  SimpleDateFormat ("yyyy-MM-dd"); //定义将日期格式要换成的格式  
        String stringTime  =  formatter.format(time);  
     Date date = null;  
    try {  
        date = formatter.parse(stringTime);  
    } catch (ParseException e) {  
        e.printStackTrace();  
    }  
        return  date;  
          
    }  
      
    /** 
     * 得到当前时间,以字符串表示 
     * @return 
     */  
    public static String getDate(){  
        Date date = new Date();  
        return CommUtil.dateToString(date);  
    }  
}  
日期转换类  DateConverter.java

[java] view plain copy
package com.util;  
  
import java.text.DateFormat;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
import java.util.Map;  
  
import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;  
  
/** 
 * 日期转换类 
 * 
 */  
public class DateConverter extends DefaultTypeConverter {  
    private static final DateFormat[] ACCEPT_DATE_FORMATS = {  
            new SimpleDateFormat("dd/MM/yyyy"),  
            new SimpleDateFormat("yyyy-MM-dd"),  
            new SimpleDateFormat("yyyy/MM/dd") }; //支持转换的日期格式   
  
    @Override   
    public Object convertValue(Map context, Object value, Class toType) {   
        if (toType == Date.class) {  //浏览器向服务器提交时,进行String to Date的转换   
            Date date = null;   
            String dateString = null;   
            String[] params = (String[])value;   
            dateString = params[0];//获取日期的字符串   
            for (DateFormat format : ACCEPT_DATE_FORMATS) {   
                try {   
                    return format.parse(dateString);//遍历日期支持格式,进行转换   
                } catch(Exception e) {   
                    continue;   
                }   
            }   
            return null;   
        }   
        else if (toType == String.class) {   //服务器向浏览器输出时,进行Date to String的类型转换   
            Date date = (Date)value;   
            return new SimpleDateFormat("yyyy-MM-dd").format(date);//输出的格式是yyyy-MM-dd   
        }   
          
        return null;   
    }  
}  

功能更强大的格式化工具类 FormatUtils.java
[java] view plain copy
package com.util;  
  
import java.text.DecimalFormat;  
import java.text.ParseException;  
import java.text.SimpleDateFormat;  
import java.util.Date;  
  
/** 
 * 功能更强大的格式化工具类 
 */  
public class FormatUtils {  
    private static SimpleDateFormat second = new SimpleDateFormat(  
            "yy-MM-dd hh:mm:ss");  
  
    private static SimpleDateFormat day = new SimpleDateFormat("yyyy-MM-dd");  
    private static SimpleDateFormat detailDay = new SimpleDateFormat("yyyy年MM月dd日");  
    private static SimpleDateFormat fileName = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");  
    private static SimpleDateFormat tempTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
    private static SimpleDateFormat excelDate = new SimpleDateFormat("yyyy/MM/dd");  
      
    /** 
     * 格式化excel中的时间 
     * @param date 
     * @return 
     */  
    public static String formatDateForExcelDate(Date date) {  
        return excelDate.format(date);  
    }  
      
    /** 
     * 将日期格式化作为文件名 
     * @param date 
     * @return 
     */  
    public static String formatDateForFileName(Date date) {  
        return fileName.format(date);  
    }  
  
    /** 
     * 格式化日期(精确到秒) 
     *  
     * @param date 
     * @return 
     */  
    public static String formatDateSecond(Date date) {  
        return second.format(date);  
    }  
      
    /** 
     * 格式化日期(精确到秒) 
     *  
     * @param date 
     * @return 
     */  
    public static String tempDateSecond(Date date) {  
        return tempTime.format(date);  
    }  
  
    public static Date tempDateSecond(String str) {  
        try {  
            return tempTime.parse(str);  
        } catch (ParseException e) {  
            e.printStackTrace();  
        }  
        return new Date();  
    }  
    /** 
     * 格式化日期(精确到天) 
     *  
     * @param date 
     * @return 
     */  
    public static String formatDateDay(Date date) {  
        return day.format(date);  
    }  
      
    /** 
     * 格式化日期(精确到天) 
     *  
     * @param date 
     * @return 
     */  
    public static String formatDateDetailDay(Date date) {  
        return detailDay.format(date);  
    }  
  
    /** 
     * 将double类型的数字保留两位小数(四舍五入) 
     *  
     * @param number 
     * @return 
     */  
    public static String formatNumber(double number) {  
        DecimalFormat df = new DecimalFormat();  
        df.applyPattern("#0.00");  
        return df.format(number);  
    }  
  
    /** 
     * 将字符串转换成日期 
     *  
     * @param date 
     * @return 
     * @throws Exception 
     */  
    public static Date formateDate(String date) throws Exception {  
        return day.parse(date);  
    }  
      
    /** 
     * 将字符日期转换成Date 
     * @param date 
     * @return 
     * @throws Exception 
     */  
    public static Date parseStringToDate(String date) throws Exception {  
        return day.parse(date);  
    }  
      
    public static String formatDoubleNumber(double number) {  
        DecimalFormat df = new DecimalFormat("#");  
        return df.format(number);  
    }  
}  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

退役人员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值