写在前面
本文涉及的工具类部分是自己编写,另一部分是在项目里收集的。工具类涉及数据库连接、格式转换、文件操作、发送邮件等等。提高开发效率,欢迎收藏与转载。
数据库连接工具类
格式转换工具类
功能更强大的格式化工具类 FormatUtils.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);
}
}