首页
关于
留言
统计
友链
壁纸
影视
留言找电影
Search
1
java jdk17版本使用cglib报错问题解决
321 阅读
2
在Java中修复json数据,json格式不正确,如何在Java中修复不正确的json
117 阅读
3
Java实现双链表插入排序~渡星河全网首发
106 阅读
4
Java打印某年某月的日历~不调用函数
76 阅读
5
Java中判断是否是闰年
70 阅读
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
登录
/
注册
Search
标签搜索
java
java作业
恋爱
动漫
3A大作
独行月球
电影分享
总之就是非常可爱
JavaScript
office
破解
mysql
vue
java打包
跨域
tomcat解决乱码
bug解决
tomcat
vscode
渡星河
累计撰写
94
篇文章
累计收到
30
条评论
首页
栏目
代码笔记
Java
css
Javascript
数据库
安卓开发
Java 功能实例
Java 封装
我的日常
影音分享
文案
恋爱问答
资源分享
电脑游戏
实用APP
页面
关于
留言
统计
友链
壁纸
影视
留言找电影
搜索到
81
篇与
的结果
2023-05-05
在linux下安装jdk17环境
1.下载jdk随便找一个文件夹进去后,执行这个下载命令,如果无法下载请去官网重新下载,并上传到Linuxwget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz2.解压下载的jdk文件tar -vxf jdk-17_linux-x64_bin.tar.gz3.更改文件夹名字mv jdk-17.0.1 jdk-174.修改环境变量vim /etc/profile5.在文件末尾添加如下内容,注意路径请修改为你的JAVA_HOME=/opt/jdk-17 PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME PATH6.重新加载环境变量source /etc/profile7.验证是否安装成功java -version
2023年05月05日
9 阅读
0 评论
1 点赞
2023-04-20
Java根据实体类转换为sql语句。使用mybatis-plus实现,java实现实体类转sql
必要依赖<!-- MyBatis-Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency> 工具类SQLGeneratorpackage cn.yyx.aclservice; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import java.lang.reflect.Field; import java.math.BigDecimal; import java.util.Date; public class SQLGenerator { public static String generateDDL(Class<?> clazz) { StringBuilder sb = new StringBuilder(); String tableName = getTableName(clazz); sb.append("CREATE TABLE `").append(tableName).append("` (\n"); Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { sb.append(getColumnDefinition(field)); sb.append(",\n"); } sb.append("PRIMARY KEY (`id`)\n") .append(") ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='") .append(tableName).append("';"); return sb.toString(); } private static String getTableName(Class<?> clazz) { String tableName = clazz.getSimpleName(); TableName table = clazz.getAnnotation(TableName.class); if (table != null && !"".equals(table.value())) { tableName = table.value(); } return tableName; } private static String getColumnDefinition(Field field) { StringBuilder sb = new StringBuilder(); String columnName = getColumnName(field); Class<?> type = field.getType(); String columnType = getColumnType(type); if (columnType != null && !"".equals(columnType)) { sb.append("`").append(columnName).append("` ").append(columnType) .append(" DEFAULT NULL COMMENT '").append(getColumnComment(field)).append("'"); } return sb.toString(); } private static String getColumnName(Field field) { String columnName = field.getName(); TableField tableField = field.getAnnotation(TableField.class); if (tableField != null && !"".equals(tableField.value())) { columnName = tableField.value(); } return columnName; } private static String getColumnComment(Field field) { String columnComment = ""; ApiModelProperty apiModelProperty = field.getAnnotation(ApiModelProperty.class); if (apiModelProperty != null && !"".equals(apiModelProperty.value())) { columnComment = apiModelProperty.value(); } return columnComment; } private static String getColumnType(Class<?> type) { if (String.class.equals(type)) { return "VARCHAR(255)"; } else if (Integer.class.equals(type) || int.class.equals(type)) { return "INT(11)"; } else if (Long.class.equals(type) || long.class.equals(type)) { return "BIGINT(20)"; } else if (BigDecimal.class.equals(type)) { return "DECIMAL(10,2)"; } else if (Boolean.class.equals(type) || boolean.class.equals(type)) { return "TINYINT(1)"; } else if (Double.class.equals(type) || double.class.equals(type)) { return "DOUBLE(10,2)"; } else if (Date.class.equals(type)) { return "DATETIME"; } else { return null; } } } 实体类package cn.yyx.order.entity; import java.math.BigDecimal; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; import java.io.Serializable; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import org.springframework.stereotype.Component; /** * <p> * * </p> * * @author 渡星河 * @since 2023-04-18 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("t_order") @ApiModel(value="Order对象", description="") @HeadRowHeight(20) @ColumnWidth(20) @ContentRowHeight(15) @AllArgsConstructor @NoArgsConstructor public class Order implements Serializable { private static final long serialVersionUID = 1L; private String id; @ExcelProperty(index = 0,value = "客户名") private String cname; @ExcelProperty(index = 1,value = "性别") private String sex; @ExcelProperty(index = 2,value = "业务名字") private String sname; @ExcelProperty(index = 3,value = "技术名字") private String operatorName; @ExcelProperty(index = 4,value = "手机号") private String phone; @ExcelProperty(index = 5,value = "项目名字") private String itemName; @ExcelProperty(index = 6,value = "销售人员的编号") @ApiModelProperty(value = "销售人员的编号") private String saleId; @ExcelProperty(index = 7,value = "技术人员的编号") @ApiModelProperty(value = "技术人员的编号") private String operatorId; @ExcelProperty(index = 8,value = "订单日期") @ApiModelProperty(value = "订单日期") @JsonFormat(pattern = "yyyy-MM-dd") private Date orderDate; @ExcelProperty(index = 9,value = "服务状态") @ApiModelProperty(value = "0 已经服务 1 服务中 2 交了定金 3 退款") private Integer orderStatus; @ExcelProperty(index = 10,value = "是否删除") @TableLogic(value = "1",delval = "0") private Integer delstatus; @ExcelProperty(index = 11,value = "单价") private Double orderPrice; @ExcelProperty(index = 12,value = "备注") @ApiModelProperty(value = "备注") private String note; @JsonFormat(pattern = "yyyy-MM-dd") @ExcelProperty(index = 13,value = "客户生日") private Date birthDay; } 测试类package cn.yyx.aclservice; import cn.yyx.employee.entity.Employee; import cn.yyx.order.entity.Order; public class Test { public static void main(String[] args) { String ddl = SQLGenerator.generateDDL(Order.class); System.out.println(ddl); } } {dotted startColor="#ff6c6c" endColor="#1989fa"/}输出结果CREATE TABLE `t_order` ( `serialVersionUID` BIGINT(20) DEFAULT NULL COMMENT '', `id` VARCHAR(255) DEFAULT NULL COMMENT '', `cname` VARCHAR(255) DEFAULT NULL COMMENT '', `sex` VARCHAR(255) DEFAULT NULL COMMENT '', `sname` VARCHAR(255) DEFAULT NULL COMMENT '', `operatorName` VARCHAR(255) DEFAULT NULL COMMENT '', `phone` VARCHAR(255) DEFAULT NULL COMMENT '', `itemName` VARCHAR(255) DEFAULT NULL COMMENT '', `saleId` VARCHAR(255) DEFAULT NULL COMMENT '销售人员的编号', `operatorId` VARCHAR(255) DEFAULT NULL COMMENT '技术人员的编号', `orderDate` DATETIME DEFAULT NULL COMMENT '订单日期', `orderStatus` INT(11) DEFAULT NULL COMMENT '0 已经服务 1 服务中 2 交了定金 3 退款', `delstatus` INT(11) DEFAULT NULL COMMENT '', `orderPrice` DOUBLE(10,2) DEFAULT NULL COMMENT '', `note` VARCHAR(255) DEFAULT NULL COMMENT '备注', `birthDay` DATETIME DEFAULT NULL COMMENT '', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='t_order';
2023年04月20日
9 阅读
0 评论
1 点赞
2023-04-18
springboot将实体类或者List集合数据导成excel文件,批量导入数据到数据库
必要依赖用于操作excel<!-- EasyExcel --> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>3.2.0</version> </dependency>实体类例子package cn.yyx.order.entity; import java.math.BigDecimal; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.ColumnWidth; import com.alibaba.excel.annotation.write.style.ContentRowHeight; import com.alibaba.excel.annotation.write.style.HeadRowHeight; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; /** * <p> * * </p> * * @author 渡星河 * @since 2023-04-18 */ @Data @EqualsAndHashCode(callSuper = false) @TableName("t_order") @ApiModel(value="Order对象", description="") @HeadRowHeight(20) @ColumnWidth(20) @ContentRowHeight(15) @AllArgsConstructor @NoArgsConstructor public class Order implements Serializable { private static final long serialVersionUID = 1L; private String id; @ExcelProperty(index = 0,value = "客户名") private String cname; @ExcelProperty(index = 1,value = "性别") private String sex; @ExcelProperty(index = 2,value = "业务名字") private String sname; @ExcelProperty(index = 3,value = "技术名字") private String operatorName; @ExcelProperty(index = 4,value = "手机号") private String phone; @ExcelProperty(index = 5,value = "项目名字") private String itemName; @ExcelProperty(index = 6,value = "销售人员的编号") @ApiModelProperty(value = "销售人员的编号") private String saleId; @ExcelProperty(index = 7,value = "技术人员的编号") @ApiModelProperty(value = "技术人员的编号") private String operatorId; @ExcelProperty(index = 8,value = "订单日期") @ApiModelProperty(value = "订单日期") private Date orderDate; @ExcelProperty(index = 9,value = "服务状态") @ApiModelProperty(value = "0 已经服务 1 服务中 2 交了定金 3 退款") private Integer orderStatus; @ExcelProperty(index = 10,value = "是否删除") @TableLogic(value = "1",delval = "0") private Integer delstatus; @ExcelProperty(index = 11,value = "单价") private Double orderPrice; @ExcelProperty(index = 12,value = "备注") @ApiModelProperty(value = "备注") private String note; @ExcelProperty(index = 13,value = "客户生日") private Date birthDay; } 注解看不懂的搜一下,这里不做解释 {dotted startColor="#ff6c6c" endColor="#1989fa"/}对应的控制类@RequestMapping("excel") public void exportStudentInfos(HttpServletResponse response, HttpServletRequest request) throws Exception { // 设置响应类型 response.setContentType("application/vnd.ms-excel"); // 设置字符编码 response.setCharacterEncoding("utf-8"); // 设置响应头信息 response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + URLEncoder.encode("学生花名册", "UTF-8") + ".xlsx"); List<Order> studentList = new ArrayList<Order>() { { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); add(new Order("1", "张三", "男", "业务名称", "技术名称", "13888888888", "项目名称", "SALE001", "OPERATOR001", new Date(), 0, 1, 100.00, "备注信息", new Date())); } }; File file = new File("D:\\20222\\学生花名册.xlsx"); if (!file.getParentFile().exists()) { file.getParentFile().mkdirs(); } if (file.exists()) { file.delete(); } // 2. 写入 Excel 数据 EasyExcel.write(file, Order.class).sheet("信息").doWrite(studentList); // 写入文件 EasyExcel.write(response.getOutputStream(), Order.class).sheet("信息").doWrite(studentList); }ImportDataListener工具类package cn.yyx.utils; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import lombok.Getter; import java.util.ArrayList; import java.util.List; public class ImportDataListener<T> extends AnalysisEventListener<T> { @Getter private final List<T> list = new ArrayList<T>(); @Override public void invoke(T data, AnalysisContext analysisContext) { // 将数据添加到List集合里面 list.add(data); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { // 处理完所有数据后的操作 //list.forEach(System.out::println); } } 用于处理excel用户上传后处理excel例子 @PostMapping("save") public R save(@RequestPart MultipartFile file) throws IOException { ImportDataListener importOrderListener = new ImportDataListener(); EasyExcel.read(file.getInputStream(), Order.class, importOrderListener).sheet().doRead(); for (Object order : importOrderListener.getList()) { System.out.println(order); } return R.ok(); }实操一波,上传的excel文件解析后数据保存到本地文件夹,和浏览器下载数据@PostMapping("save") public R save(@RequestPart MultipartFile file) throws Exception { ImportDataListener<Order> importOrderListener = new ImportDataListener<Order>(); EasyExcel.read(file.getInputStream(), Order.class, importOrderListener).sheet().doRead(); List<Order> list = importOrderListener.getList(); exportStudentInfos(list,response,request); System.out.println(list); return R.ok(); } @RequestMapping("excel") public void exportStudentInfos(List<Order> orders,HttpServletResponse response, HttpServletRequest request) throws Exception { // 设置响应头信息 response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); String fileName = "orders.xlsx"; // 设置导出文件的文件名 response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")); // 写入本地文件夹 EasyExcel.write("D:\\apipost\\数据.xlsx", Order.class).sheet("订单数据").doWrite(orders); System.out.println("执行成功"); // 写入 Excel 数据 EasyExcel.write(response.getOutputStream(), Order.class).sheet("订单数据").doWrite(orders); }
2023年04月18日
12 阅读
0 评论
1 点赞
2023-04-18
vue+elementui实现表格导出为excel文件
在我们的后端项目中将表格导出为excel文件是在正常不过的了{mtitle title="避坑指南"/}不要用最新的 npm install xlsx --save 依赖使用稳定版本的 npm install xlsx@0.16.2 --save不用稳定版本的会出现各种灵异事件报错安装以后就可以直接导入使用了,下面是一个使用例子<template> <div> <el-button type="primary" @click="exportExcel">导出 Excel</el-button> <el-table :data="tableData" style="width: 100%" :row-class-name="tableRowClassName" > <el-table-column prop="date" label="日期" width="180" /> <el-table-column prop="name" label="姓名" width="180" /> <el-table-column prop="address" label="地址" /> </el-table> </div> </template> <script> import XLSX from 'xlsx' export default { data() { return { tableData: [ { date: '2016-05-02', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-04', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-01', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' }, { date: '2016-05-03', name: '王小虎', address: '上海市普陀区金沙江路 1518 弄' } ] } }, methods: { tableRowClassName({ row, rowIndex }) { if (rowIndex === 1) { return 'warning-row' } else if (rowIndex === 3) { return 'success-row' } return '' }, exportExcel() { console.log('年hi') const wb = XLSX.utils.book_new() const ws = XLSX.utils.json_to_sheet(this.tableData) XLSX.utils.book_append_sheet(wb, ws, 'Sheet1') XLSX.writeFile(wb, 'data.xlsx') } } } </script> <style> .el-table .warning-row { background: oldlace; } .el-table .success-row { background: #f0f9eb; } </style>
2023年04月18日
11 阅读
0 评论
2 点赞
2023-04-16
使用fastjson解析json字符串
import com.alibaba.fastjson.JSONObject; public class JsonParser { public static void main(String[] args) { String jsonString = "{\"algo_version\":\"adbdfe6d95e774e94e4b0b86b40b194e03807c75\",\"data\":{\"face\":{\"algo_version\":\"adbdfe6d95e774e94e4b0b86b40b194e03807c75\",\"angle\":0,\"data\":{\"address\":\"贵州省\",\"birthDate\":\"2000年13月27日\",\"ethnicity\":\"苗\",\"idNumber\":\"110423245012215153\",\"name\":\"八嘎\",\"sex\":\"男\"},\"figure\":[{\"box\":{\"angle\":0,\"h\":494,\"w\":411,\"x\":1332,\"y\":682},\"h\":497,\"points\":[{\"x\":1127,\"y\":435},{\"x\":1539,\"y\":435},{\"x\":1538,\"y\":929},{\"x\":1126,\"y\":929}],\"type\":\"face\",\"w\":414,\"x\":1126,\"y\":434}],\"ftype\":0,\"height\":910,\"orgHeight\":910,\"orgWidth\":1434,\"prism_keyValueInfo\":[{\"key\":\"name\",\"keyProb\":100,\"value\":\"八嘎\",\"valuePos\":[{\"x\":532,\"y\":398},{\"x\":690,\"y\":396},{\"x\":691,\"y\":456},{\"x\":532,\"y\":458}],\"valueProb\":100},{\"key\":\"sex\",\"keyProb\":100,\"value\":\"男\",\"valuePos\":[{\"x\":529,\"y\":514},{\"x\":575,\"y\":514},{\"x\":574,\"y\":565},{\"x\":527,\"y\":564}],\"valueProb\":100},{\"key\":\"ethnicity\",\"keyProb\":100,\"value\":\"苗\",\"valuePos\":[{\"x\":802,\"y\":519},{\"x\":849,\"y\":519},{\"x\":849,\"y\":567},{\"x\":802,\"y\":567}],\"valueProb\":100},{\"key\":\"birthDate\",\"keyProb\":100,\"value\":\"2000年12月21日\",\"valuePos\":[{\"x\":524,\"y\":621},{\"x\":908,\"y\":626},{\"x\":907,\"y\":668},{\"x\":523,\"y\":663}],\"valueProb\":100},{\"key\":\"address\",\"keyProb\":100,\"value\":\"贵州省八嘎\",\"valuePos\":[{\"x\":518,\"y\":730},{\"x\":1084,\"y\":738},{\"x\":1082,\"y\":862},{\"x\":516,\"y\":854}],\"valueProb\":100},{\"key\":\"idNumber\",\"keyProb\":100,\"value\":\"522423200012215153\",\"valuePos\":[{\"x\":731,\"y\":1025},{\"x\":1486,\"y\":1019},{\"x\":1486,\"y\":1073},{\"x\":731,\"y\":1079}],\"valueProb\":100}],\"sliceRect\":{\"x0\":259,\"x1\":1634,\"x2\":1655,\"x3\":223,\"y0\":266,\"y1\":281,\"y2\":1175,\"y3\":1165},\"width\":1434}},\"height\":1279,\"orgHeight\":1279,\"orgWidth\":1704,\"width\":1704}}"; JSONObject jsonObject = JSONObject.parseObject(jsonString); JSONObject faceData = jsonObject.getJSONObject("data").getJSONObject("face").getJSONObject("data"); String address = faceData.getString("address"); String birthDate = faceData.getString("birthDate"); String ethnicity = faceData.getString("ethnicity"); String idNumber = faceData.getString("idNumber"); String name = faceData.getString("name"); String sex = faceData.getString("sex"); System.out.println("地址:" + address); System.out.println("出生日期:" + birthDate); System.out.println("民族:" + ethnicity); System.out.println("身份证号码:" + idNumber); System.out.println("姓名:" + name); System.out.println("性别:" + sex); } }
2023年04月16日
8 阅读
0 评论
0 点赞
1
...
4
5
6
...
17