- 浏览: 70412 次
- 性别:
- 来自: 天津
文章分类
最新评论
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 3871.request对象 客户端的请求信息被封装在requ ... -
j2ee23:jquery:使用jquery技术实现奇数行偶数行换色
2016-02-03 13:52 799第一:概念 使用jquery技术实现奇数行偶数行换色aj ... -
j2ee22:json
2016-02-03 11:21 532第一:概念 1.json数据 ... -
j2ee21:ajax01:get提交、post提交(完成用户名搜索),两者的区别(中文乱码问题、缓存问题)
2016-02-03 09:56 439第一:概念 Ajax技术和jquery技术1.这两个是客 ... -
jsp主要九大内置对象、四大web域、两种包含、两种注释、几个jsp标准动作
2016-01-28 09:41 517第一:概念 (一)JSP ... -
j2ee:servlet练习鲜花项目(购物车、分页、ajax、iframe弹出层、jquery、json(计算小计、总计)、map集合高级遍历、图片上传)
2016-01-28 09:41 427第一:概念购物车全过程的理解: 1.新建一个购物车类,这样,这 ... -
j2ee20:servlet04监听器(监听四大web域)(用于访问人数的统计)、mvc模式的引入
2016-01-27 10:13 419第一:概念 1.监听器listener:一个对象去监听另 ... -
j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用
2016-01-27 10:11 4511.过滤器的使用 package com.comm; i ... -
j2ee19:servlet03:el表达式,jstl标准标签库、四大web域
2016-01-27 10:05 301第一:概念 EL表达式 ... -
j2ee18:servlet02:过滤器(过滤四大web域)
2016-01-27 09:53 457第一:概念 1.过滤器:放在客户端和服务器之间,客户端发 ... -
j2ee17:servlet01:jsp结束,servlet的配置和生命周期
2016-01-27 09:52 3931.appliation应用程序:session是一个会话 ... -
j2ee16:jsp5:文件上传,jsp标准动作
2016-01-26 16:19 5161.给表在添加一列:alert ... -
j2ee15:jsp04,session的访问控制,分页查询,page include·
2016-01-26 16:09 418第一:基本概念 1.< ... -
j2ee13:jsp03:转发、重定向、三种跳转,短信项目
2016-01-20 16:19 793第一:概念 application ... -
j2ee13:jsp02,request对象,中文乱码处理,url传参
2016-01-19 11:26 454第一:基本概念 1.服务器端的执行过程:1.接收请求,2 ... -
j2ee12:jsp01:jsp页面嵌套java代码、<%@ %>的使用
2016-01-19 11:25 924第一:基本概念 1.html,css,js等属于客户端技 ... -
j2ee11:xml02:dom4j解析
2016-01-18 16:29 522第一:基本概念 1.第三种解析方式不是java官方提供的 ... -
j2ee10:xml01:dom解析和sax解析
2016-01-18 16:17 371第一:基本概念 1.xml是可扩展的标记语言(他可以让程 ... -
j2ee08:jdbc02:事务处理、滚动结果集分页、复杂sql分页
2016-01-18 13:22 511基本概念: 第一个知 ... -
j2ee07:jdbc01:Properties对象、四大参数、批量删除、基本的增删改查
2016-01-18 13:11 546第一:jdbc的四大参数: jdbc的本质是一套API( ...
相关推荐
通过XML保存JDBC相关配置(参考) 作者:13部王曦同学在学习J2EE的XML开发的小项目。 说明:做得越多,收获越多。 博文链接:https://java1573.iteye.com/blog/124704
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分布式管理) ...
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分布式管理) ...
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分布式管理) ...
面向对象-封装、继承、多态 内存的分析 递归 集合类、泛型、自动打包与解包、Annotation IO 多线程、线程同步 TCP/UDP AWT、事件模型、匿名类 正则表达式 反射机制 2:数据库(Oracle或者MySQL) SQL语句 多表...
Servlet+JSP+JDBC实现增删查(真分页)改j2ee小项目,数据库采用MySQL,log4j记录日志,自已封装了查询条件类和分页类,欢迎大家下载,互相学习。
第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE容器 1.3.1 容器服务 1.3.2 容器类型 1.4 ...
在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。 该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下: 1. ...
5.2.4 封装Hibernate数据库操作方法..... 81 5.2.5 数据持久化处理..... 84 5.2.6 Hibernate配置文件..... 90 5.3 员工登录模块..... 91 5.3.1 实现效果..... 91 5.3.2 视图组件的实现..... 92 5.3.3 控制器组件的...
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...
典型的J2EE三层结构,分为表现层... Hibernate是对JDBC的轻量级对象封装,Hibernate本身是不具备Transaction处理功能的,Hibernate的Transaction实际上是底层的JDBC Transaction的封装,或者是JTA Transaction的封装,
本系统是基于J2EE的设计方案,使用表示层,逻辑层和数据层三层模式。使用B/S模式,大大减低了服务端的数据处理任务。...数据库层使用JDBC与底层数据库进行交互,逻辑层封装在Java类中,表示层由JSP实现。
JavaEE核心技术Java语言的基本语法 OOP思想——封装、继承和多态 异常处理 java.lang包、java.util包、java.io包 JDBC数据库访问技术 Swing编程 使用NetBeans进行程序开发
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...
一个基于Java的网上书店的设计与实现,归纳出了...该项目是java技术的实战操作,采用了MVC设计模式,查询分页,持久化层方法的封装等等,对java技术的巩固很有帮助,为J2EE的学习打下基础,适用于课程设计,毕业设计。