阶段测试之 用数据库和JDBC的知识完成控制台版本的简易新闻发布系统

该博客介绍了如何基于数据库和JDBC实现一个控制台版的简易新闻发布系统。系统包括新闻表和评论表的设计,Java代码主体结构,如导入JDBC库、工具类、配置文件、新闻和评论的bean类,以及控制台交互功能,如显示最新新闻、浏览所有新闻标题、查看新闻详情和发表评论等。
摘要由CSDN通过智能技术生成

一,需求分析

按照需求:
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 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值