从数据库中获取数据展示到页面中_将数据库中的数据展示在网页中(1)

//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”年薪企业高级前端工程师成长路线,由于图片太大仅展示一小部分


![](https://img-blog.csdnimg.cn/img_convert/8f4634e85dd904c95364c9d62e0e9eff.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值