最近用到的但是不熟悉的知识点
格式化时间格式 SimpleDateFormat
符号 | 含义 | Presentation |
---|---|---|
y | 年份(推荐使用yyyy) | Year |
Y | Week Year,以本周最后一天的年份返回(周日为第一天),不建议使用 | Year |
M | Month in year,月份 | Month |
w | Week in year, 本年的第几周 | Number |
W | Week in month ,本月的第几周 | Number |
D | Day in year,本年的第几天 | Number |
d | Day in month ,本月的第几天 | Number |
H | Hour in day, 24小时制(0-23) | Number |
h | Hour in day ,12小时制(0-11) | Number |
m | Minute in hour, 分钟数 | Number |
s | Second in minute,秒数 | Number |
S | Milliseconde, 毫秒数 | Number |
方法 string -> date
Date parse(String text, ParsePosition pos);
方法 date -> string
StringBuffer format(Date date)
// 指定格式
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 获取当前时间
Date now = new Date();
// Date -> String
String dateString = format.format(now);
// String -> Date
Date date = format.parse("2018-12-18 15:30:25");
System.out.println(dateString);
System.out.println(date);
// console
2018-11-14 10:36:17
Tue Dec 18 15:30:25 CST 2018
String .format(String format, Object… args)
字符串格式化
常规类型的格式化
转换符 | 说明 | 示例 |
---|---|---|
%s | String, 字符串类型 | “java” |
%c | char, 字符类型 | a |
%b | boolean, 布尔类型 | true |
%d | dight, 十进制整数 | 123 |
%f | float, 浮点数 | 1.23f |
%% | 百分比类型 |
标志符,相当于正则中符号
| 标志 | 备注 | 示例|
| + | 为数字添加 符号 | %+d |
| 0 | 数字前补0 | %04d,不够四位数补0 |
String output = String.format("%d%s%04d", 123, "str", 12);
System.out.print(output);
// console
123str0012
DBUtils 批量处理操作
示例
Connection conn = DataSource.getConnection();
List<EgVO> egVOs; // 假设数据已填充
int length = egVOs.size();
String sql = "insert into table1(id, name, age, createDate) values(?,?,?,?)";
Object[][] params = new Object[length][4];// 对应数据长度、与每次操作要传入的参数个数
for (int i = 0 ; i < length; i++) {
EgVO egVO = egVOs.get(i);
params[i][0] = egVO.getId();
params[i][1] = egVO.getName();
params[i][2] = egVO.getAge();
params[i][3] = egVO.getCreateDate();
}
QueryRunner query = new QueryRunner();
query.batch(conn, sql, params);