- 浏览: 74035 次
- 性别:
- 来自: 天津
文章分类
最新评论
1.实体类部分
package com.entity;
import java.util.Date;
public class News {
private int nid;
private String ntitle;
private String ncontent;
private Date date;
private String author;
public int getNid() {
return nid;
}
public void setNid(int nid) {
this.nid = nid;
}
public String getNtitle() {
return ntitle;
}
public void setNtitle(String ntitle) {
this.ntitle = ntitle;
}
public String getNcontent() {
return ncontent;
}
public void setNcontent(String ncontent) {
this.ncontent = ncontent;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public News(int nid, String ntitle, String ncontent, Date date,
String author) {
super();
this.nid = nid;
this.ntitle = ntitle;
this.ncontent = ncontent;
this.date = date;
this.author = author;
}
public News(int nid, String ntitle, String ncontent,
String author) {
super();
this.nid = nid;
this.ntitle = ntitle;
this.ncontent = ncontent;
this.author = author;
}
public News() {
}
@Override
public String toString() {
return "News [author=" + author + ", date=" + date + ", ncontent="
+ ncontent + ", nid=" + nid + ", ntitle=" + ntitle + "]";
}
}
private String ntitle;
private String ncontent;
private Date date;
private String author;
public int getNid() {
return nid;
}
public void setNid(int nid) {
this.nid = nid;
}
public String getNtitle() {
return ntitle;
}
public void setNtitle(String ntitle) {
this.ntitle = ntitle;
}
public String getNcontent() {
return ncontent;
}
public void setNcontent(String ncontent) {
this.ncontent = ncontent;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public News(int nid, String ntitle, String ncontent, Date date,
String author) {
super();
this.nid = nid;
this.ntitle = ntitle;
this.ncontent = ncontent;
this.date = date;
this.author = author;
}
public News(int nid, String ntitle, String ncontent,
String author) {
super();
this.nid = nid;
this.ntitle = ntitle;
this.ncontent = ncontent;
this.author = author;
}
public News() {
}
@Override
public String toString() {
return "News [author=" + author + ", date=" + date + ", ncontent="
+ ncontent + ", nid=" + nid + ", ntitle=" + ntitle + "]";
}
}
2.公共方法部分
package com.comm;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
public class BaseDao {
private final String DB_DRIVER="oracle.jdbc.driver.OracleDriver";
private final String DB_URL="jdbc:oracle:thin:@localhost:1521:XE";
private final String DB_USER="xq";
private final String DB_PWD="xq";
Connection conn=null;
PreparedStatement pstat=null;
ResultSet res=null;
/**
* 获得数据库链接对象
* **/
public Connection getConn()
{
try
{
Class.forName(DB_DRIVER);
conn=DriverManager.getConnection(DB_URL, DB_USER, DB_PWD);
}
catch(Exception ex)
{
ex.printStackTrace();
}
return conn;
}
/**
* 执行insert,update,delete语句
* sql:执行的sql语句
* param:给sql语句中?赋的值
* int:受影响行数
* **/
public int executeUpdate(String sql,Object[]param)
{
int row=0;
try
{
this.getConn();
pstat=conn.prepareStatement(sql);
if(param!=null&¶m.length>0)
{
for(int x=0;x<param.length;x++)
{
pstat.setObject((x+1),param[x]);
}
}
row = pstat.executeUpdate();
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
this.closeAll(conn, pstat, res);
}
return row;
}
public List executeQuery(String sql,Object[]param,Class cls)
{
List list = new ArrayList();
try
{
this.getConn();
pstat=conn.prepareStatement(sql);
if(param!=null&¶m.length>0)
{
for(int x=0;x<param.length;x++)
{
pstat.setObject((x+1),param[x]);
}
}
Field[]fs=cls.getDeclaredFields();
res = pstat.executeQuery();
while(res.next())
{
//1 创建对象
Object obj=cls.newInstance();
//2 给对象属性赋值
for(int x=0;x<fs.length;x++)
{
Field f=fs[x];
f.setAccessible(true);
String type=f.getType().getName();
if(type.equals("int"))
{
f.set(obj, res.getInt(x+1));
}
if(type.equals("java.lang.String"))
{
f.set(obj, res.getString(x+1));
}
if(type.equals("java.util.Date"))
{
f.set(obj, res.getDate(x+1));
}
}
//3 将对象添加到集合
list.add(obj);
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
this.closeAll(conn, pstat, res);
}
return list;
}
/**
* 释放数据库访问资源
* */
public void closeAll(Connection conn,Statement stat,ResultSet res)
{
try
{
if(res!=null)
{
res.close();
}
if(stat!=null)
{
stat.close();
}
if(conn!=null)
{
conn.close();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
3.根据公共方法完成增删改查
package com.dao.impl;
import java.util.List;
import com.comm.BaseDao;
import com.dao.NewsDao;
import com.entity.News;
import com.dao.NewsDao;
import com.entity.News;
public class NewsDaoImpl extends BaseDao implements NewsDao {
@Override
public int saveNews(News news) {
// TODO Auto-generated method stub
String sql="insert into news values(?,?,?,sysdate,?)";
Object []param={news.getNid(),news.getNtitle(),news.getNcontent(),news.getAuthor()};
return super.executeUpdate(sql, param);
}
@Override
public List<News> searchAllNews() {
// TODO Auto-generated method stub
String sql="select * from news";
return super.executeQuery(sql, null, News.class);
}
@Override
public int batDeleteNews(Integer[] nid) {
String sql="delete from news where nid in(";
for(int x=0;x<nid.length;x++)
{
if(x==nid.length-1)
{
sql=sql+"?)";
}
else
{
sql=sql+"?,";
}
}
return super.executeUpdate(sql,nid);
}
public static void main(String[] args) {
NewsDao dao = new NewsDaoImpl();
/*News news = new News();
news.setNid(10);
news.setNtitle("新闻标题");
news.setNcontent("新闻内容");
news.setAuthor("作者");
int row = dao.saveNews(news);
if(row>0)
{
System.out.println("----成功");
}
else
{
public int saveNews(News news) {
// TODO Auto-generated method stub
String sql="insert into news values(?,?,?,sysdate,?)";
Object []param={news.getNid(),news.getNtitle(),news.getNcontent(),news.getAuthor()};
return super.executeUpdate(sql, param);
}
@Override
public List<News> searchAllNews() {
// TODO Auto-generated method stub
String sql="select * from news";
return super.executeQuery(sql, null, News.class);
}
@Override
public int batDeleteNews(Integer[] nid) {
String sql="delete from news where nid in(";
for(int x=0;x<nid.length;x++)
{
if(x==nid.length-1)
{
sql=sql+"?)";
}
else
{
sql=sql+"?,";
}
}
return super.executeUpdate(sql,nid);
}
public static void main(String[] args) {
NewsDao dao = new NewsDaoImpl();
/*News news = new News();
news.setNid(10);
news.setNtitle("新闻标题");
news.setNcontent("新闻内容");
news.setAuthor("作者");
int row = dao.saveNews(news);
if(row>0)
{
System.out.println("----成功");
}
else
{
System.out.println("----失败");
}*/
/* List<News> list=dao.searchAllNews();
for(News n:list)
{
System.out.println(n);
}*/
int row = dao.batDeleteNews(new Integer[]{1,2});
if(row>0)
{
System.out.println("----成功");
}
else
{
}*/
/* List<News> list=dao.searchAllNews();
for(News n:list)
{
System.out.println(n);
}*/
int row = dao.batDeleteNews(new Integer[]{1,2});
if(row>0)
{
System.out.println("----成功");
}
else
{
System.out.println("----失败");
}
}
}
}
}
- 09,jdbc03,进行最后的封装.zip (2.6 MB)
- 下载次数: 0
发表评论
-
jsp九大内置对象的详解
2016-02-05 09:12 4141.request对象 客户端的请求信息被封装在requ ... -
j2ee23:jquery:使用jquery技术实现奇数行偶数行换色
2016-02-03 13:52 815第一:概念 使用jquery技术实现奇数行偶数行换色aj ... -
j2ee22:json
2016-02-03 11:21 551第一:概念 1.json数据 ... -
j2ee21:ajax01:get提交、post提交(完成用户名搜索),两者的区别(中文乱码问题、缓存问题)
2016-02-03 09:56 463第一:概念 Ajax技术和jquery技术1.这两个是客 ... -
jsp主要九大内置对象、四大web域、两种包含、两种注释、几个jsp标准动作
2016-01-28 09:41 540第一:概念 (一)JSP ... -
j2ee:servlet练习鲜花项目(购物车、分页、ajax、iframe弹出层、jquery、json(计算小计、总计)、map集合高级遍历、图片上传)
2016-01-28 09:41 455第一:概念购物车全过程的理解: 1.新建一个购物车类,这样,这 ... -
j2ee20:servlet04监听器(监听四大web域)(用于访问人数的统计)、mvc模式的引入
2016-01-27 10:13 443第一:概念 1.监听器listener:一个对象去监听另 ... -
j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用
2016-01-27 10:11 4721.过滤器的使用 package com.comm; i ... -
j2ee19:servlet03:el表达式,jstl标准标签库、四大web域
2016-01-27 10:05 324第一:概念 EL表达式 ... -
j2ee18:servlet02:过滤器(过滤四大web域)
2016-01-27 09:53 482第一:概念 1.过滤器:放在客户端和服务器之间,客户端发 ... -
j2ee17:servlet01:jsp结束,servlet的配置和生命周期
2016-01-27 09:52 4171.appliation应用程序:session是一个会话 ... -
j2ee16:jsp5:文件上传,jsp标准动作
2016-01-26 16:19 5421.给表在添加一列:alert ... -
j2ee15:jsp04,session的访问控制,分页查询,page include·
2016-01-26 16:09 446第一:基本概念 1.< ... -
j2ee13:jsp03:转发、重定向、三种跳转,短信项目
2016-01-20 16:19 820第一:概念 application ... -
j2ee13:jsp02,request对象,中文乱码处理,url传参
2016-01-19 11:26 476第一:基本概念 1.服务器端的执行过程:1.接收请求,2 ... -
j2ee12:jsp01:jsp页面嵌套java代码、<%@ %>的使用
2016-01-19 11:25 950第一:基本概念 1.html,css,js等属于客户端技 ... -
j2ee11:xml02:dom4j解析
2016-01-18 16:29 543第一:基本概念 1.第三种解析方式不是java官方提供的 ... -
j2ee10:xml01:dom解析和sax解析
2016-01-18 16:17 400第一:基本概念 1.xml是可扩展的标记语言(他可以让程 ... -
j2ee08:jdbc02:事务处理、滚动结果集分页、复杂sql分页
2016-01-18 13:22 538基本概念: 第一个知 ... -
j2ee07:jdbc01:Properties对象、四大参数、批量删除、基本的增删改查
2016-01-18 13:11 572第一:jdbc的四大参数: jdbc的本质是一套API( ...
相关推荐
通过XML保存JDBC相关配置(参考) 作者:13部王曦同学在学习J2EE的XML开发的小项目。 说明:做得越多,收获越多。 博文链接:https://java1573.iteye.com/blog/124704
**J2EE项目练习:JDBC+Struts** 在Java企业级开发中,J2EE(Java 2 Platform, Enterprise Edition)是一个标准平台,用于构建分布式、多层的Web应用程序。这个项目练习的核心是结合JDBC(Java Database ...
在Java世界中,J2EE(Java 2 Platform, Enterprise Edition)是一个用于开发和部署企业级应用程序的平台,它包含了多种技术,其中一项关键的技术就是JDBC(Java Database Connectivity)。JDBC是Java语言中用于与...
3. 抽象封装:JDBC对数据库的基本操作进行了抽象,简化了开发过程,但同时也可能影响性能。 4. 可移植性:JDBC支持多种数据库,使得程序在不同数据库间迁移变得容易。 5. 兼容性:JDBC-ODBC桥驱动使得与已存在的ODBC...
1.4.4 JDBC(Java数据库连接) 1.4.5 JTA/JTS(Java事务) 1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) ...
《CodeNotes for J2EE - EJB, JDBC, JSP and Servlet》这本书是针对Java企业级应用开发的一份宝贵资源,主要涵盖了四个关键的技术领域:Enterprise JavaBeans(EJB),Java Database Connectivity(JDBC),Java...
1.4.4 JDBC(Java数据库连接) 1.4.5 JTA/JTS(Java事务) 1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) ...
【标题】"j2ee网上购书商城-jdbc+javabaean+jsp"是一个基于J2EE技术构建的在线购物平台,它利用Java的核心技术,包括JDBC(Java Database Connectivity)、JavaBean以及JSP(JavaServer Pages)来实现对数据库的操作...
- **企业Bean(Enterprise Beans)**:企业Bean是J2EE中的核心组件之一,主要用于封装业务逻辑。根据功能不同,企业Bean可以分为会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-...
1.4.4 JDBC(Java数据库连接) 1.4.5 JTA/JTS(Java事务) 1.4.6 JNDI(Java命名和目录服务) 1.4.7 JavaMail(Java邮件服务) 1.4.8 RMI(远程方法调用) 1.4.9 JMS(Java消息服务) 1.4.10 JMX(Java分布式管理) ...
在J2EE应用中,JDBC是访问数据库的基础,无论是直接还是间接。 2. **JDBC连接池**:连接池是预创建的数据库连接集合,可以有效提高数据库访问性能,减少资源浪费。当应用需要数据库连接时,可以从池中获取,使用...
在本项目中,"Servlet+JSP+JDBC实现增删查(真分页)改j2ee小项目"是一个基于Java技术栈的Web应用程序,主要用于演示如何在J2EE环境中进行数据操作,包括添加、删除、查询和更新功能,并且实现了真正的分页功能。...
J2EE提供了JDBC(Java Database Connectivity)接口,方便开发者与各种类型的数据库进行交互。 6. **多线程处理**:为了实现实时的消息广播,服务器端可能需要使用多线程技术,确保每个新消息都能迅速地推送给所有...
JDBC(Java Database Connectivity)是 Java 语言中的一种标准数据库连接技术,几乎所有需要访问数据库的 J2EE 应用程序都直接或间接地使用了它。JDBC 提供了一个统一的接口来访问不同的关系数据库管理系统(DBMS)...
**J2EE全实例教程** 本教程专注于J2EE(Java 2 Platform, Enterprise Edition)技术,这是一种由Oracle公司维护的、用于构建企业级分布式应用的开放标准平台。J2EE提供了一整套服务和组件模型,使得开发人员能够...
在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)是一个用于开发和部署企业级应用程序的框架。它由Sun Microsystems(现已被Oracle收购)推出,旨在提供一个跨平台、可扩展且安全的环境,用于构建分布式...
3. **EJB(Enterprise JavaBeans)**:EJB是J2EE的核心组件,提供了一种标准的方式来封装业务逻辑。你可能需要创建并部署EJBs,例如会话bean(Session Beans)用于方法调用,实体bean(Entity Beans)代表持久化的...