sql表
接下来所有代码都是基于下面的goods数据库操作,附上数据库sql表
链接:https://pan.baidu.com/s/1kJ4koNLlZy8IJM8QUkpOvA
提取码:6c6a
maven入门
如果工程中没有下面红框中的文件,如何导入?
特殊导入方式
修改项目名称,可以修改项目中.project文件中值
maven命令行工具
前置条件
1.需要java环境
2.需要配置到环境变量中
3.切换到项目路径下,运行:mvn install
mvn clean install -X //先清空然后打包 打印出详细信息
mvn -v //查看maven版本
set path //查看系统变量
mvn idea:idea //使项目支持idea,可以在idea工具中打开
mvn idea:clean
通过命令打包mvn设置信息最好和C:\Users\wys\.m2\setting.xml一致
sts工具运行,省略mvn
系统监控
public class JavaHeapTest {
public static void main(String[] args)
{
ArrayList list=new ArrayList();
while(true)
{
System.out.println("add ");
list.add(new JavaHeapTest());
}
}
}
-Xmx128m -Xms128m - XX:+HeapDumpOnOutOfMemoryError java.lang.OutOfMemoryError
运行产生文件导入到jvisualvm.exe中
文件-》装入,选中.hprof文件
excel工具原始版
依赖架包
<!-- 原始读写配置 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUtils {
/**
* suffix of excel 2003
*/
public static final String OFFICE_EXCEL_V2003_SUFFIX = "xls";
/**
* suffix of excel 2007
*/
public static final String OFFICE_EXCEL_V2007_SUFFIX = "xlsx";
/**
* suffix of excel 2010
*/
public static final String OFFICE_EXCEL_V2010_SUFFIX = "xlsx";
public static final String EMPTY = "";
public static final String DOT = ".";
public static final String LIB_PATH = "lib";
public static final String STUDENT_INFO_XLS_PATH = LIB_PATH + "/student_info" + DOT + OFFICE_EXCEL_V2003_SUFFIX;
public static final String STUDENT_INFO_XLSX_PATH = LIB_PATH + "/student_info" + DOT + OFFICE_EXCEL_V2007_SUFFIX;
public static final String NOT_EXCEL_FILE = " is Not a Excel file!";
public static final String PROCESSING = "Processing...";
public static void main(String[] args) throws IOException {
try {
String file=System.getProperty("user.dir")+File.separator+"data"+File.separator+"test.xlsx";
List<Student> list = readExcel(file);
System.out.println(list);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Check which version of The Excel file is. Throw exception if Excel file path is illegal.
*
* @param path the Excel file
* @return a list that contains Students from Excel.
* @throws IOException
*/
public static List<Student> readExcel(String path) throws IOException, IllegalArgumentException {
if (StringUtils.isBlank(path)) {
throw new IllegalArgumentException(path + " excel file path is either null or empty");
} else {
String suffiex = getSuffiex(path);
if(StringUtils.isBlank(suffiex)){
throw new IllegalArgumentException(path + " suffiex is either null or empty");
}
if (OFFICE_EXCEL_V2003_SUFFIX.equals(suffiex)) {
return readXls(path);
} else if (OFFICE_EXCEL_V2007_SUFFIX.equals(suffiex)) {
return readXlsx(path);
} else if (OFFICE_EXCEL_V2010_SUFFIX.equals(suffiex)) {
return readXlsx(path);
} else {
throw new IllegalArgumentException(path + NOT_EXCEL_FILE);
}
}
}
/**
* Read the Excel 2017 or 2010
* @param path the path of the excel file
* @return
* @throws IOException
*/
public static List<Student> readXlsx(String path) throws IOException {
System.out.println(PROCESSING + path);
InputStream is = new FileInputStream(path);
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(is);
Student student = null;
List<Student> list = new ArrayList<Student>();
// Read the Sheet
for (int numSheet = 0; numSheet < xssfWorkbook.getNumberOfSheets(); numSheet++) {
XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(numSheet);
if (xssfSheet == null) {
continue;
}
// Read the Row
for (int rowNum = 1; rowNum <= xssfSheet.getLastRowNum(); rowNum++)