- 浏览: 1013764 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (367)
- JavaScript (23)
- Java (60)
- Python (41)
- 其他 (36)
- SQL (4)
- 开发工具 (26)
- Linux (15)
- AJAX (6)
- Cache (3)
- 正则 (4)
- 架构 (9)
- 手机 (3)
- MySQL (4)
- Android (115)
- vps (1)
- 网站 (4)
- scale (3)
- 搜索引擎 (3)
- iPhone (2)
- hessian (1)
- hessdroid (1)
- 411 (1)
- jstat (1)
- gc (1)
- gallery (1)
- 惯性 (1)
- eclipse (1)
- mac wget error (1)
- miui file explorer 无用 解决办法 (1)
- vim (1)
最新评论
-
qingyezhangluo:
哎。楼主您既然是分享代码的为什么要加密的呢?而且问你密码还不回 ...
android应用换皮肤(转) -
MagicError:
kavoe 写道下载文件有密码。。。。
http抓包工具 -
knightdf:
我先试下再来
JAVA的RAS加密例子 -
kavoe:
下载文件有密码。。。。
http抓包工具 -
changanfounder:
hmc1985 写道setCallbackDuringFlin ...
android gallery滑动惯性问题
1.DAO基类(数据库操作基类)
这里使用了层超类模式,复用代码,统一处理异常,日志等等..
BaseDAO:
package com.d1zhan;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
public class BaseDAO {
/**
* 获取数据库连接
* @return
*/
public Connection getConnection() {
Connection conn = null;
String jdbcURL = "jdbc:mysql://localhost/dbname";
String jdbcDriver = "com.mysql.jdbc.Driver";
String user = "root";
String password = "root";
try {
DbUtils.loadDriver(jdbcDriver);
conn = DriverManager.getConnection(jdbcURL, user, password);
} catch (SQLException e) {
// handle the exception
e.printStackTrace();
} finally {
//DbUtils.closeQuietly(conn);
}
return conn;
}
/**
* 查找多个对象
* @param sqlString
* @param clazz
* @return
*/
public List query(String sqlString, Class clazz) {
List beans = null;
Connection conn = null;
try {
conn = getConnection();
QueryRunner qRunner = new QueryRunner();
beans =
(List) qRunner.query(
conn,
sqlString,
new BeanListHandler(clazz));
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
return beans;
}
/**
* 查找对象
* @param sqlString
* @param clazz
* @return
*/
public Object get(String sqlString, Class clazz) {
List beans = null;
Object obj = null;
Connection conn = null;
try {
conn = getConnection();
QueryRunner qRunner = new QueryRunner();
beans =
(List) qRunner.query(
conn,
sqlString,
new BeanListHandler(clazz));
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
if(beans!=null && !beans.isEmpty()){ //注意这里
obj=beans.get(0);
}
return obj;
}
/**
* 执行更新的sql语句,插入,修改,删除
* @param sqlString
* @return
*/
public boolean update(String sqlString) {
Connection conn = null;
boolean flag = false;
try {
conn = getConnection();
QueryRunner qRunner = new QueryRunner();
int i = qRunner.update(conn,sqlString);
if (i > 0) {
flag = true;
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
DbUtils.closeQuietly(conn);
}
return flag;
}
}
2,Employee 雇员数据库操作DAO类
大家可以看到,下面的DAO类,继承BaseDAO,方法体都是组装sql语句,不必关心异常的处理,资源的管理(Connection,Statement等),这样代码简洁,质量高.
EmployeeDAO:
package com.d1zhan;
import java.util.List;
public class EmployeeDAO extends BaseDAO {
/**
* searchModel的属性,name,address等为查询参数
* @param searchModel
* @return
*/
public List query(Employee searchModel) {
String sql = "select * from employee where 1=1";
//如果雇员名字不为null,则将雇员名字加入where查询条件
if (searchModel.getName() != null) {
sql += "and employee.name like '" + searchModel.getName() + "' ";
}
return this.query(sql, Employee.class);
}
/**
* 修改雇员信息
* @param emp
* @return
*/
public boolean edit(Employee emp) {
String sql = "update employee set "; //注意: set加在外面
//如果name不为null,修改它的值到数据库
if (emp.getName() != null) {
sql += "employee.name='" + emp.getName() + "' ,";
}
//如果address不为null,修改它的值到数据库
if (emp.getAddress() != null) {
sql += "employee.address='" + emp.getAddress() + "', ";
}
sql=sql.substring(0,sql.length()-1); //去掉最后一个","
sql += "where employee.id=" + emp.getId();
return this.update(sql);
}
/**
* 根据雇员ID删除雇员
* @param id
* @return
*/
public boolean delete(int id) {
String sql = "delete from employee where id =" + id;
return this.update(sql);
}
/**
* 根据雇员ID查找雇员
* @param id
* @return
*/
public Employee get(int id) {
String sql = "select * from employee where id=" + id;
return (Employee) this.get(sql, Employee.class);
}
}
3.雇员信息类
Employee:
package com.pcm.netrender.model;
public class Employee {
private int id;
private String name;
private String address;
/**
* @return
*/
public String getAddress() {
return address;
}
/**
* @return
*/
public int getId() {
return id;
}
/**
* @return
*/
public String getName() {
return name;
}
/**
* @param string
*/
public void setAddress(String string) {
address = string;
}
/**
* @param i
*/
public void setId(int i) {
id = i;
}
/**
* @param string
*/
public void setName(String string) {
name = string;
}
}
4,现在就可以在业务层(service)调用我们的dao类方法,实现业务逻辑了
在service我们要处理业务逻辑,数据库操作事务等等.
然后Struts Action调用 service类的方法,完成软件了.
使用代码大概是这样的
Employee emp=new Employee();
emp.setName("测试雇员");
emp.setAddress("深圳南山科技园");
EmployeeDAO dao=new EmployeeDAO();
dao.save(emp);
发表评论
-
android屏幕适配
2012-11-16 17:24 2198屏幕适配一直是一个让人头疼的问题,论坛上讨论这个问题的最后也 ... -
禁止Eclipse中xml文件Run as的XSL Transformation生成out.xml以方便Android应用开发
2012-08-26 21:38 2648可以在Eclipse里面配置,菜单Windows->P ... -
android 自带的主题 theme 的使用
2012-08-25 23:21 2377在android的sdk 安装目录data\r ... -
android开发之gallery 实现滚动一张且短距离滑动实现滚动
2011-12-19 18:50 1934首先gallery的特点就不用多说了吧,惯性滚动、半屏翻页,但 ... -
使用Jstat监控gc情况(收藏)
2011-12-19 13:22 1865性能测试过程中,我们 ... -
eclipse生成javadoc乱码解决
2011-10-24 09:37 1305eclipse在生成javadoc的时候出现乱码,是因为 ... -
java中在静态方法或变量中动态获取当前类的类名
2011-10-14 11:20 3720java中在静态方法中动态获取当前类的类名或者动态获取当前类的 ... -
飞鸽传书实现原理
2011-10-13 11:35 3282飞鸽传书的实现原理: (1)最关键的是局域网用户列表的 ... -
Android开发——利用Cursor+CursorAdapter实现界面实时更新(转)
2011-09-20 15:47 3088好久没有更新博客了 ... -
Nginx使用反向代理时 Hessian 的 411 错误解决方案【转】
2011-09-15 13:48 2367问题描述: 用 Hessian 实现 web se ... -
"Copy" did not complete normally. Please see the log for more information.
2011-05-06 17:19 4043在用android日志的时候老是弹出一个窗口,内容 ... -
jdk api下载地址备份
2011-02-15 10:58 1600中文jdk6的api: JDK6 API 中文版 H ... -
JAVA NIO 简介(转)
2010-12-09 13:03 1070http://www.iteye.com/topic/8344 ... -
netty的资料
2010-10-31 16:06 1294http://hornetq.sourceforge.net/ ... -
Java程序发邮件小例子(转载收藏)
2010-10-27 21:25 1566今天试了一个Java写的发邮件小例子,需要的jar包有 ... -
使用Netty 构造一个异步的httpclient
2010-09-21 00:35 7846原文地址:http://dev.firnow.com/co ... -
Netty使用初步
2010-09-21 00:26 13987收藏自:http://www.kafk ... -
集群环境下SESSION处理(转)
2010-09-08 15:24 1849本文转自:http://blog.csdn.net/l ... -
Java集合的Stack、Queue、Map的遍历
2010-09-08 13:00 1448在集合操作中,常常 ... -
<转>,防止刷新/后退引起的重复提交问题的Java Token代码,非Struts
2009-12-10 13:31 1924贴子转自http://hi.baidu.com/bobylou ...
相关推荐
《Apache Commons DBUtils详解及其在Java数据库操作中的应用》 Apache Commons DBUtils是Apache软件基金会开发的一个开源项目,它提供了一套简洁、高效且实用的工具类,用于简化Java应用程序中的数据库操作。这个...
首先,`dbutils`是Apache软件基金会提供的一个开源项目,它基于Java,提供了简单易用的API,使得开发者可以便捷地执行SQL语句,处理结果集,实现了对数据库的基本操作。它的核心组件包括QueryRunner和DBUtils,其中...
Apache Commons DBUtils是Java开发中的一个实用工具库,主要用于简化JDBC(Java Database Connectivity)的使用。这个资源包"commons-dbutils-1.6-bin.zip"包含了DBUtils 1.6版本的源代码和相关文档,是理解并使用...
在本项目中,你将找到一个自己编写的简易DBUtils实现,虽然它不是Apache官方的DBUtils,但其设计思想和核心功能与原版相似,旨在帮助初学者理解和实践数据库连接管理。 1. **数据库连接池**: DBUtils的核心之一是...
Apache DBUtils(Database Utilities)是一个基于Java的开源数据库操作框架,它由Apache软件基金会提供,旨在简化数据库操作,提高开发效率。DBUtils的核心理念是通过提供一组实用工具类来减少数据库访问代码,使得...
**dbutils** 是一个 Apache Commons 项目,它提供了一个简单且高效的 Java 数据库连接工具集。这个工具包是为了简化数据库操作而设计的,它构建在 JDBC(Java Database Connectivity)之上,为开发人员提供了更方便...
**标题:“扩展Apache Commons的DbUtils”** Apache Commons DbUtils是一个轻量级的Java数据库连接库,它简化了与数据库进行交互的任务,特别是在处理简单的CRUD(创建、读取、更新和删除)操作时。DbUtils是基于...
- 学习优秀的设计模式和实践:Apache Commons 项目遵循良好的设计原则,源码中充满了实用的设计模式。 - 了解如何编写可重用的代码:每个模块都尽可能地独立且具有明确的职责,这有助于创建自己的库。 - 解决实际...
DBUtils是Java编程环境中一个非常实用的数据库操作工具包,由Apache软件基金会提供。它基于JDBC(Java Database Connectivity)并提供了对数据库操作的简化,让开发者能够更方便、高效地进行数据存取。DBUtils的主要...
它通常与Apache Spark等大数据框架结合使用,为开发人员提供了一系列实用的API,以简化数据操作、文件管理和任务调度。本篇文章将深入探讨`dbutils` API的核心概念、主要功能以及使用方法。 ### 1. 核心概念 - **...
Apache DBUtils是一个开源Java库,它是Apache软件基金会的一部分,专门设计用于简化数据库...通过深入学习和实践Apache DBUtils,开发者可以在日常工作中更加高效地进行数据库操作,减少出错的可能性,提升代码质量。
Apache Common DbUtils是操作数据库的组件,对传统操作数据库的类(JDBC)进行二次封装,可以把结果集转化成List。 DbUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。 应用实践小结: 一、...
Apache Commons DBUtils是一个Java库,它为数据库操作提供了一些实用工具和抽象,简化了数据库编程。这个"commons-dbutils-1.4 bin+src"压缩包包含两个关键文件:`commons-dbutils-1.4-sources.jar`和`commons-...
`commons-dbutils-1.2.jar` 是一个由Apache软件基金会开发并维护的Java库,它是Apache Commons项目的一部分,专注于简化数据库操作。这个小巧而实用的库为Java开发者提供了一种简单的方式来处理数据库连接,查询结果...
总结来说,Apache Commons DbUtils是一个强大的数据库操作助手,它的源码阅读有助于我们更好地理解和掌握数据库操作的最佳实践。通过实例应用和测试,我们可以深入理解DbUtils的工作原理,并将其有效地应用到实际...
Apache Commons DBUtils是一个Java库,它简化了JDBC(Java Database Connectivity)的使用,为开发者提供了更方便、更安全的数据库操作方式。这个压缩包文件"commons_dbutils1.4_itmop.com_JDBC_开源工具类库.zip...
DbUtils是Apache Commons的一个模块,它为JDBC提供了一个简单实用的工具库,旨在简化数据库操作,使得开发者能够更高效、安全地处理数据库事务。 DbUtils的主要功能包括: 1. **资源管理**:自动关闭数据库连接、...
dbutils是Databricks Utilities的简称,它是一系列用于简化数据操作、提高开发效率的工具集合,广泛应用于Apache Spark和Databricks平台。下面将深入探讨dbutils的关键知识点,包括其功能、应用场景以及如何高效使用...
Apache Commons DBUtils是一个Java库,它为数据库操作提供了简单且健壮的工具,极大地简化了JDBC编程。这个组件包和源码的分享是供开发者们学习和研究使用,以提高对数据库操作的理解和实践能力。 DBUtils的核心...