zoukankan      html  css  js  c++  java
  • CMS简单内容管理系统

    架构

    NewsDaoSQLServerImpl

    public class NewsDaoSQLServerImpl extends BaseDao implements NewsDao {
    
        public void testSelect() throws Exception {
            List<News> list = getAllNews();
            for (News news : list) {
                System.out.println(news.getTITLE());
                System.out.println(news.getAUTHOR());
                System.out.println(news.getCREATETIME());
                System.out.println(news.getCONTENT());
            }
        }
    
        @Override
        public List<News> getAllNews() throws Exception {
            List<News> list = new ArrayList<News>();
            String sql = "select * from book";
            // 读取器
            ResultSet rs = executeQuery(sql);
            if (rs != null) {
                while (rs.next()) {
                    // 如果有数据,数据表中的每条记录对应实体类的一个实例
                    News news = new News();
                    news.setAUTHOR(rs.getString("AUTHOR"));//作家
                    news.setCREATETIME(rs.getString("CREATETIME"));//创建时间
                    news.setTITLE(rs.getString("TITLE"));//标题
                    news.setCONTENT(rs.getString("CONTENT"));//内容
                    list.add(news);
                }
            }
            return list;
        }
    
    }

    NewsDao

    public interface NewsDao {
        // 读取所有新闻列表的方法
        public List<News> getAllNews() throws Exception;
    }

    NewsManager

    public class NewsManager {
        
        public void toHtml() throws Exception {
            // 读取模板文件内容,返回文件内容的字符串
            FileIO fileio = new FileIO();
            String templaterstr = fileio.readFile("E:\news\news.template");
            // 读取数据库表,获取新闻列表
            NewsDao newsdao = new NewsDaoSQLServerImpl();
            List<News> newslist = newsdao.getAllNews();
            // 替换模板文件,为每一条新闻创建一个HTML文件显示其信息
            for (int i = 0; i < newslist.size(); i++) {
                // 获取一条新闻
                News news = newslist.get(i);
                // 使用该条新闻信息替换对应的占位符
                String replacestr = new String();
                replacestr = templaterstr;
                replacestr = replacestr.replace("{title}", news.getTITLE());
                replacestr = replacestr.replace("{author}", news.getAUTHOR());
                replacestr = replacestr.replace("{createtime}", news.getCREATETIME());
                replacestr = replacestr.replace("{content}", news.getCONTENT());
                // 为该条新闻生成HTML文件
                String filePath = "E:\news\news" + i + ".html";
                fileio.writeFile(filePath, replacestr);
            }
        }
    }

    News

    public class News {
        // ID, TITLE, AUTHOR, CREATETIME, CONTENT
        private int ID;// 新闻的ID
        private String TITLE;// 新闻标题
        private String AUTHOR;// 新闻的作者
        private String CREATETIME;// 时间
        private String CONTENT;// 新闻的内容
    
        public int getID() {
            return ID;
        }
    
        public void setID(int iD) {
            ID = iD;
        }
    
        public String getTITLE() {
            return TITLE;
        }
    
        public void setTITLE(String tITLE) {
            TITLE = tITLE;
        }
    
        public String getAUTHOR() {
            return AUTHOR;
        }
    
        public void setAUTHOR(String aUTHOR) {
            AUTHOR = aUTHOR;
        }
    
        public String getCREATETIME() {
            return CREATETIME;
        }
    
        public void setCREATETIME(String cREATETIME) {
            CREATETIME = cREATETIME;
        }
    
        public String getCONTENT() {
            return CONTENT;
        }
    
        public void setCONTENT(String cONTENT) {
            CONTENT = cONTENT;
        }
    
    }

    BaseDao

    public class BaseDao {
        // 定义四个静态常量,保存数据连接信息
        private static  String driver="com.mysql.jdbc.Driver";
        private static  String url="jdbc:mysql://localhost:3306/newsmgr";
        private static  String username="root";
        private static  String password = "";
    
        Connection con;
        PreparedStatement stat;
        
        
    
        
    
        // 获取连接对象的方法
        public Connection getConnection() throws Exception {
            Class.forName(driver);
            if (con == null || con.isClosed()) {
                con = DriverManager.getConnection(url, username, password);
            }
            return con;
        }
    
        // 对所有select语句执行的方法
        public ResultSet executeQuery(String sql, Object... objs) throws Exception {
            con = getConnection();
            stat = con.prepareStatement(sql);
            for (int i = 0; i < objs.length; i++) {
                stat.setObject(i + 1, objs[i]);
            }
            ResultSet rs = stat.executeQuery();
            return rs;
        }
    }

    Test

    public class Test {
    
        public static void main(String[] args) throws Exception {
            NewsManager num = new NewsManager();
            num.toHtml();
        }
        
        
    
    }

  • 相关阅读:
    3-4: 一元多项式的乘法与加法运算
    设计模式一装饰者模式
    设计模式一组合模式
    设计模式一命令模式
    设计模式一建造者模式
    设计模式一桥接模式
    设计模式一适配器模式
    设计模式一抽象工厂模式
    排序算法一二分排序
    排序算法一希尔排序
  • 原文地址:https://www.cnblogs.com/SFHa/p/9195407.html
Copyright © 2011-2022 走看看