其实企业想要用低的成本, 招能力强的人, 所以就错位了
右键 - 复制 - 以 cUrl 格式复制, 然后在 postman 导入
已预定
Mac 也慢, 启动后页面非常卡, 没找到原因, 然后换 Firefox 了...
设置个下班打卡,不给公司增加水电费
一眼看成 “测试开发开工第一天 - 电脑坏了”
年前裁员 30%,原本预期年前发的年终奖还没发,研发的开发计划还没出,测试慢慢测着之前的提测内容,感觉大家都在观望
感觉对于项目测试难度高,比如需求复杂、项目逻辑复杂、代码要求高之类的项目,按照这个来有些不公平
兄弟,长沙好找吗,测开或自动化的薪资大概多少呀
明白了,谢谢大佬
选择手写的原因是为了解决接口自动化中需要维护大量的实体类的问题(一旦线上表结构有更新自动化的实体类也要跟着改),准备在查询后生成一个实体类,目前的方案如下,不知道 github 上有现成的轮子用不,写起来有点费劲。。。
public static synchronized Object query(String sql) throws SQLException {
Map<String, Object> map = new HashMap<>();
List<Object> objects = new ArrayList<>();
try {
// 执行查询
System.out.println(" 实例化Statement对象...");
stmt = getConnection().createStatement();
ResultSet rs = stmt.executeQuery(sql);
//获取列相关信息
ResultSetMetaData rsm = rs.getMetaData();
for (int i = 1; i <= rsm.getColumnCount(); i++) {
String fieldName = rsm.getColumnName(i);//获取列名
int type = rsm.getColumnType(i);//获取数据库中该列的数据类型的type
logger.debug("\t列名" + fieldName + "\t列类型:" + rsm.getColumnTypeName(i) + "\t是否可为null:"
+ rsm.isNullable(i) + "\t枚举" + type );
Class<?> aClass = JDBCUtil.getJavaType(type);//通过type获取对应的Java类型
map.put(getName(fieldName), aClass);
}
while (rs.next()) {
CglibCreateUtil createUtil = new CglibCreateUtil(map);
for (int i = 1; i <= rsm.getColumnCount(); i++) {
String fieldName = getName(rsm.getColumnName(i));//将字段名转为驼峰式命名
Object value = rs.getObject(i);//获取字段的值
// System.out.println("列名:" + fieldName + "\t列值:" + value);
createUtil.setBeanMapValue(fieldName, value);
}
Object obj = createUtil.getObj();
objects.add(obj);
}
close();
} catch (SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch (Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
} finally {
close();
}
return objects;
}