//jsp中url为TsPersonServlet的servlet映射
//在命名servlet-name时,命名应与对应的servlet类类名一致
TsPersonServlet
com.gree.servlet.TsPersonServlet
TsPersonServlet
/TsPersonServlet
然后,准备连接数据库:
package com.gree.util;
import java.sql.*;
public class TsPersonMysql {
static String url = “jdbc:mysql://172.xx.xxx.43:3306/gree_push?useSSL=false&useUnicode=true&characterEncoding=utf-8”;
static String username = "root";
static String password = "xxxxxx";
static Connection conn = null;
static ResultSet rs = null;
static PreparedStatement ps =null;
//获得数据库连接
public static Connection getConnection(){
Connection conn = null;
try{
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url,username,password);
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
//释放数据库资源
public static void releaseDB(ResultSet resultSet, Statement statement,Connection connection) {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
2:实体类,变量名称应与数据库表中的应保持一致(大小写不强调)
//写成标准的javabean类:构造函数,get/set方法,toString方法
public class TsPerson {
private int id;
private String pushName;
private String pushDesc;
private String ToEmail;
private String CsEmail;
private String CreateTime;//数据库中的时间为date型,这里类型不一致也行
public TsPerson() {
}
public TsPerson(int id, String pushName,String pushDesc, String toEmail, String csEmail, String createTime) {
this.id = id;
this.pushName=pushName;
this.pushDesc = pushDesc;
ToEmail = toEmail;
CsEmail = csEmail;
CreateTime = createTime;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPushDesc() {
return pushDesc;
}
public void setPushDesc(String pushDesc) {
this.pushDesc = pushDesc;
}
public String getToEmail() {
return ToEmail;
}
public void setToEmail(String toEmail) {
ToEmail = toEmail;
}
public String getCsEmail() {
return CsEmail;
}
public void setCsEmail(String csEmail) {
CsEmail = csEmail;
}
public String getCreateTime() {
return CreateTime;
}
public void setCreateTime(String createTime) {
CreateTime = createTime;
}
public String getPushName() {
return pushName;
}
public void setPushName(String pushName) {
this.pushName = pushName;
}
@Override
public String toString() {
return “TsPerson{” +
“id=” + id +
“, pushName='” + pushName + ‘’’ +
“, pushDesc='” + pushDesc + ‘’’ +
“, ToEmail='” + ToEmail + ‘’’ +
“, CsEmail='” + CsEmail + ‘’’ +
“, CreateTime=” + CreateTime +
‘}’;
}
}
3:写Dao
public interface TsPersonDao {
public List queryAllData();/查询数据库中的所以数据/
}
4:写接口的实现类
public class TsPersonDaoImpl implements TsPersonDao {
@Override
public List queryAllData() {
Connection connection = null;
PreparedStatement preparedStatement = null;
List list = new ArrayList();
ResultSet rs = null;
ArrayList list1 = new ArrayList();
try {
String sql = “SELECT * from gree_push_email”;
connection = TsPersonMysql.getConnection();
preparedStatement = connection.prepareStatement(sql);
rs = preparedStatement.executeQuery();
while (rs.next()) {//rs存放的是sql语句编译后的结果集
TsPerson ts = new TsPerson();
ts.setId(rs.getInt("ID"));
ts.setPushName(rs.getString("pushName"));//从结果集中获取到string类型的pushName字段
ts.setPushDesc(rs.getString("pushDesc"));
ts.setToEmail(rs.getString("toEmail"));
ts.setCsEmail(rs.getString("csEmail"));
ts.setCreateTime(rs.getString("createTime"));
list1.add(ts);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
TsPersonMysql.releaseDB(null, preparedStatement, connection);
}
/* System.out.println(list1.toString());*/
return list1;
}
}
5:写servlet类
### 紧跟潮流
大前端和全栈是以后前端的一个趋势,懂后端的前端,懂各端的前端更加具有竞争力,以后可以往这个方向靠拢。
这边整理了一个对标“阿里 50W”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分
