一,需求分析
按照需求:
1.新闻需要编号,标题,具体内容,发布时间,每条新闻有对应的评论信息。
2.评论信息有编号,内容,发布时间,以及对应新闻的编号。
二,数据库结构
分为新闻表和评论表
根据需求建表
-- 新闻表
create table views(
id int PRIMARY KEY auto_increment,-- 编号主键自增
title VARCHAR(50),-- 标题
text varchar(200),-- 内容
time TIMESTAMP-- 当前时间
)
-- 评论表
CREATE TABLE talk(
id int PRIMARY key auto_increment,-- 编号主键自增长
text varchar(100),-- 内容
time TIMESTAMP,-- 发布时间
vid int,-- 对应的新闻编号
FOREIGN KEY(vid) REFERENCES views(id)-- 设为外键与新闻表关联
)
1.新闻表
2.评论表
三,Java代码主体结构 省时间没用MVC
1.导入JDBC的三个jar包
2.工具类
数据库操作
package utils;
import com.alibaba.druid.pool.DruidDataSource;
import org.apache.commons.dbutils.BasicRowProcessor;
import org.apache.commons.dbutils.GenerousBeanProcessor;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.io.File;
import java.io.FileInputStream;
import java.sql.SQLException;
import java.util.List;
import java.util.Properties;
/**
* JDBC工具类
*/
//小驼峰对应数据库下划线
// BasicRowProcessor brp = new BasicRowProcessor(new GenerousBeanProcessor());
public class JDBCUtils {
//定义
private static String DRIVER;
private static String URL;
private static String USER;
private static String PWD;
private static QueryRunner runner;
//静态代码块加载文件信息
static {
try {
File file = new File("新闻系统/src/properties/jdbc.properties");
FileInputStream fis = new FileInputStream(file);
//创建properties对象
Properties pro = new Properties();
//加载输入流
pro.load(fis);
//获取参数
DRIVER = pro.getProperty("DRIVER");
URL = pro.getProperty("URL");
USER = pro.getProperty("USER");
PWD = pro.getProperty("PWD");
} catch (Exception e) {
e.printStackTrace();
}
}
//数据库连接
static {
DruidDataSource ds = new DruidDataSource();
ds.setUrl(URL);
ds.setUsername(USER);
ds.setPassword(PWD);
ds.setDriverClassName(DRIVER);
runner = new QueryRunner(ds);
}
//更新,param参数
public static int update(String sql, Object... param) {
try {
return runner.update(sql, param);
} catch (SQLException e) {
e.printStackTrace();
}
return 0;
}
/**
* ** BeanHandler将查询结果的第一行数据,封装到Bean对象
*
* @param sql 查询语句
* @param clazz 对应数据库的class文件
* @param param 参数列表
* @param <T>
* @return 返回查询
*/
public static