报表生成的关键要素
后台数据抽取
数据项逻辑运算
前台表格展现
以格式化的形式输出数据
对数据进行分组、汇总、计算等操作
1 后台数据抽取 : 获取报表参数集->获得数据->合成sql语句->执行sql语句->获取结果集->返回结果集
2 数据项逻辑运算 : 获取数据库原始数据集->进行数据运算、转换->重新组装数据->返回逻辑数据集
3 前台表格展现 : 获取逻辑数据集->设置表格样式->遍历数据项
数据库表的属性
建立数据模型 beans 建立数据库连接 jdbc jdbcConn Service 里面从数据库返回数据 并进行逻辑运算得到想要的数据 servlet接受数据存入session 传给前台jsp
Statement对象用于将SQL语句发送到数据库中
实际上有三种Statement对象,他们都作为在给定连接上执行SQL语句的包容器:Statement。preparedStatement(它从Statement继承而来)和CallableStatement(它从preparedStatement继承而来)
他们都专用于发送特定类型的SQL语句:Statement对象用于执行不带参数的简单SQL语句:preparedStatement对象用于执行带或不带IN参数的预编译SQL语句:CallableStatement对象用于执行对数据库已存在的存储过程的条用
ps:数据库代码尽量先在sql里面通过后在来使用
ps:实体类对象记得new一下,否则显示数据永远都是最后一条,因为被覆盖了
数据表可以用hibernate生成,还可以学习下hibernate
后台数据抽取: 获取报表参数集-->获取数据库连接-->合成SQL语句-->执行SQL语句-->获取结果集-->返回结果集
service用于处理业务逻辑
service使用DAO进行数据交互
dbconnection.createStatement
st.executeQuery(sql)
rs.getXXXX("colName");
数据库连接地址(本机连接)
String url="jdbc:oracle:thin:@localhost:1521:orcl"
将class.forName("xxxxx")加载驱动放getConnection()中,并将Connection 对象设为静态变量。这样,只要类被加载,Connection对象就被建立,之后getConnection()对Connection对象赋值。
Oracle数据连接
1.驱动 2.地址 端口
3.用户名密码
创建连接数据库的方法(1.初始化驱动包用Class.forName()需要进行异常处理2.加载数据库连接的几个要素)
报表生成的关键要素:
1,后台数据抽取 ---dao数据访问层
获取报表参数集-->获取数据库连接-->合成SQL语句-->执行SQL语句-->获取结果集-->返回结果集
2,数据项逻辑运算 ---业务逻辑层
获得完整数据原始数据集-->数据运算、转换-->重新组装-->返回逻辑数据集
3,前台表格展现 ----UI展现层
获得逻辑数据集-->设置表格样式-->遍历数据项
什么是报表?
一个格式化的形式输出数据,对数据进行分组,汇总,计算等操作,且可以通过报表,图表或嵌入图片图形等形式来丰富数据的显示现
报表生成的关键要素:1、后台数据抽取,2、数据项逻辑运算,3、前台表格展示。
报表在项目中的地位:1、面向管理层和决策层,2、充分展现系统数据价值。
统计信息的特征:1、数量性,2、综合性
数据项逻辑运算
后台数据抽取
后台数据抽取
用
用Navicat for MySQL建表不知道对不对
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>GETTING STARTED WITH BRACKETS</title>
</head>
<body>
<h1>Study use brackets on JSP + Servlet</h1>
<h2 class="center".lead>学习内容</h2>
<p>1.报表生成基本原理</p>
<p class="lead">2.核心技术点分析,技术分析,数据库语言知识</p>
<p>核心功能实现所需的技术依赖</p>
</body>
</html>
核心技术依赖
三个疑问:
额2饿 2嗯嗯
前台展现——核心技术
什么是报表?
web工程创建,index.jsp文件
创建控制层-------servlet包
创建数据模型------beans包
创建数据连接------jdbc包
交互逻辑层--------service包