javaEE jsp dao 使用
来源:互联网 发布:embed.js 编辑:程序博客网 时间:2024/06/05 01:10
我们的第一个例子是简化的DAO方式,主要是在编程中引入了oop概念。
这次,我们将DAO补齐,但仍然保持最简单的形式,以便初学者学习。
简单的DAO模式构成:
1 interface
2. Factory
3 Implements
4. caller
第一个例子中的主程序NewsDAO.java代码没有改动,只是改了个名字,
成为implements.
import java.sql.*;public class NewsDAOMySQL implements NewsDAO { Connection conn = null; Statement stmt = null; ResultSet rs = null; String url = "jdbc:mysql://localhost:3306/joke?user=root"; public NewsDAOMySQL() { try { Class.forName("com.mysql.jdbc.Driver"); } catch (java.lang.ClassNotFoundException e) { System.err.println("joke():" + e.getMessage()); } } public News getNewsByPrimaryKey(int newsid) throws SQLException { Connection conn = null; Statement stmt; ResultSet rs; News news = null; String sql = "select newsid,title,content from news2" + " where newsid=" + newsid + ""; conn = getConnection(); stmt = conn.createStatement(); rs = stmt.executeQuery(sql); if (rs.next()) { news = new News(rs.getInt(1), rs.getString(2), rs.getString(3)); } rs.close(); stmt.close(); conn.close(); return news; } private Connection getConnection() throws SQLException { Connection conn = null; conn = DriverManager.getConnection(url); return conn; }}
除了第一句由
public class NewsDAO 变成了
public class NewsDAOMySQL implements NewsDAO
构造方法名称由NewsDAO()变成NewsDAOMySQL(),这个程序与第一个例子并没有区别。
第二个程序是interface,非常简单,因为我们只实现了一个方法,所以这儿也只有一个方法的申明,大家可以很容易地
自己补上。
import java.sql.SQLException;public interface NewsDAO { public News getNewsByPrimaryKey(int newsid) throws SQLException;}
第三个程序是Factory.
我们的环境比较简单,没有使用jndi,
public class NewsDAOFactory { public static NewsDAO getDAO() throws Exception { NewsDAO newsDao = null; String className = "news.NewsDAOMySQL"; try { newsDao = (NewsDAO) Class.forName(className).newInstance(); } catch (Exception se) { } return newsDao; }}
第四,调用的jsp程序:
<%@page contentType="text/html;charset=gb2312" %><%@page import="news.*" %><%// old version on 2004-12-07// NewsDAO newsDao = new NewsDAO();// new version on 2004-12-21NewsDAO newsDao = NewsDAOFactory.getDAO();News news = newsDao.getNewsByPrimaryKey(1);if(news != null) {out.println("Title thru DAO:"+news.getTitle());out.println("<br>");out.println("Body:"+news.getContent());}else out.println("Failed.");%>
第五,本例所使用的POJO:News.java,没有任何改动,故不在此重复。
0 0
- javaEE jsp dao 使用
- JavaEE 使用jsp-config配置jsp
- javaEE jsp与javaBean的使用
- JavaEE-JSP
- JavaEE之DAO设计模式
- j2EE 使用DAO模式对数据库操作(jsp程序)
- 使用freemarker自动生成dao,service,model,action,jsp
- javaEE jsp页面元素
- javaEE JSP学习
- javaEE jsp 内置对象
- javaEE jsp自定义标签
- javaEE jsp运行原理
- [javaEE]JSP自定义标签
- 【JavaEE笔记】JSP学习
- javaee之jsp见解
- JavaEE jsp自定义标签
- JavaEE学习08--jsp
- JavaEE之JSP
- httpwebrequest详解
- c++构造函数和类型转换
- Android学习----------长按列表项弹出菜单,给菜单项添加事件,获取上下文
- mysql下大文本和二进制流的读写
- 9.1 构造函数与析构函数的起源
- javaEE jsp dao 使用
- hdu 2833 WuKong(最短路径+记忆化搜索)
- 写一函数判断某数是否“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
- hdu 3251 Being a Hero 最小割
- HttpWebRequest 和 HttpWebResponse 的应用
- 2014百度之星Disk Schedule
- 黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate
- 隐藏在最底端的控件,View.VISIBLE时后,能显示出来
- 验证码生成