前言
做了一个后台查询前端展示的小项目,背景是在前端才刚开始学的时候,以当时能力肯定还差点意思(hh,出自宋老师),当然结果就是面向百度编程啦。项目做完了,从开发到部署一个人搞定历时5天。也算是本人第一个小项目啦,下面当然是要总结了
首先如果我写的有幸被网友大佬们看到,任何细节问题都欢迎指正。(俺才刚开始,是个粗人)
用到的知识
结构(就很简单)
获取数据库连接和操作(druid dbutil)
bean包这里犯过两个错
1.bean包要写空参构造器,dbutil获取查询结构要调用的
2.成员变量名字不要有特殊字符比如class
3.查询结果对的但是不全,变量名字要和数据库字段一致
/**
* @autor kevin
* @detatil
* @create 2021-04-19-18:16
*/
public class bookfare {
private String Year;
private int Term;
private int Grade;
private String CLASS;
private Long Number;
private String Name;
private String ClassCode;
private String ClassName;
private double BookDiscount;
public bookfare() {
}
public bookfare(String year, int term, int grade, String CLASS, Long number, String name, String classCode, String className, double bookDiscount) {
Year = year;
Term = term;
Grade = grade;
this.CLASS = CLASS;
Number = number;
Name = name;
ClassCode = classCode;
ClassName = className;
BookDiscount = bookDiscount;
}
@Override
public String toString() {
return "bookfare{" +
"Year='" + Year + '\'' +
", Term=" + Term +
", Grade=" + Grade +
", CLASS='" + CLASS + '\'' +
", Number=" + Number +
", Name='" + Name + '\'' +
", ClassCode='" + ClassCode + '\'' +
", ClassName='" + ClassName + '\'' +
", BookDiscount=" + BookDiscount +
'}';
}
public String getYear() {
return Year;
}
public void setYear(String year) {
Year = year;
}
public int getTerm() {
return Term;
}
public void setTerm(int term) {
Term = term;
}
public int getGrade() {
return Grade;
}
public void setGrade(int grade) {
Grade = grade;
}
public String getCLASS() {
return CLASS;
}
public void setCLASS(String CLASS) {
this.CLASS = CLASS;
}
public Long getNumber() {
return Number;
}
public void setNumber(Long number) {
Number = number;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getClassCode() {
return ClassCode;
}
public void setClassCode(String classCode) {
ClassCode = classCode;
}
public String getClassName() {
return ClassName;
}
public void setClassName(String className) {
ClassName = className;
}
public double getBookDiscount() {
return BookDiscount;
}
public void setBookDiscount(double bookDiscount) {
BookDiscount = bookDiscount;
}
}
功能包只需要查询
要注意的是Javautil.class.getClassLoader().getResourceAsStream(“JDBC.property”)获取连接文件,要这么些,原来教的貌似后端test可以但是到前端会报错
这里按照康师傅教的写,获取连接要写静态代码块上,不然每调用一次方法就得创建一个连接池
还有为保证数据库事务安全运行(这里没有)连接要调用者关闭
import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.junit.Test;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.Properties;
/**
* @autor kevin
* @detatil
* @create 2021-04-19-18:26
*/
public class Javautil {
static DataSource dataSource =null;
static {
try {
Properties properties =new Properties();
properties.load(Javautil.class.getClassLoader().getResourceAsStream("JDBC.property"));
dataSource = DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getconnect(){
Connection connection = null;
try {