用jdbc写sql层的时候diy了一个DAL类,将一些常用的sql操作(增,删,查,改)写在了一个静态类里面,形成了一个简单的sql操作工具类,在DAO层要用到sql操作的时候直接调用类的静态方法使用就行了,同时配了数据源,此例子是使用了proxool数据源,及一些简单的数据动态配置:
代码如下:
package com.db;
//数据库访问层
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
import javax.sql.RowSet;
import javax.sql.rowset.CachedRowSet;
import org.apache.log4j.Logger;
import com.sun.rowset.CachedRowSetImpl;
public class DAL
{
private static Logger log = Logger.getLogger(DAL.class);
private static String dburl = null;
private static boolean inited = false;
/**
* 得到一个已联接好的数据库联连 一般用于过程执行
*
* @return
*/
public static Connection getConn()
{
try
{
// 使用连接池
if (inited)
{
return DriverManager.getConnection("proxool.city");
}
if (dburl == null)
{
InputStream in = new BufferedInputStream(DAL.class.getResourceAsStream("db.pro"));
Properties p = new Properties();
p.load(in);
dburl = p.getProperty("mysqlurl");
log.debug(dburl);
}
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
Connection conn = DriverManager.getConnection("proxool.city:com.mysql.jdbc.Driver:" + dburl);
inited = true;
return conn;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/**
* 对数据库执行查询方法
*
* @param sql
* @return
*/
public static RowSet query(String sql)
{
Connection conn = getConn();
ResultSet rs;
try
{
Statement s = conn.createStatement();
log.debug(sql);
rs = s.executeQuery(sql);
CachedRowSet crs = new CachedRowSetImpl();
crs.populate(rs);
conn.close();
return crs;
}
catch (Exception e)
{
e.printStackTrace();
}
return null;
}
/**
* 对数据库执行更新打操作
*
* @param sql
* @return
*/
public static int exec(String sql)
{
Connection conn = getConn();
int rt;
try
{
log.debug(sql);
Statement s = conn.createStatement();
rt = s.executeUpdate(sql);
conn.close();
return rt;
}
catch (Exception e)
{
e.printStackTrace();
}
return 0;
}
/**
* 对数据库进行添加操作
*
* @param sql
* @return
*/
public static int add(String sql)
{
Connection conn = getConn();
int rt;
try
{
log.debug(sql);
Statement s = conn.createStatement();
rt = s.executeUpdate(sql);
conn.close();
return rt;
}
catch (Exception e)
{
e.printStackTrace();
}
return 0;
}
/**
* 对数据库进行删除操作
*
* @param sql
* @return
*/
public static int del(String sql)
{
Connection conn = getConn();
int rt;
try
{
log.debug(sql);
Statement s = conn.createStatement();
rt = s.executeUpdate(sql);
conn.close();
return rt;
}
catch (Exception e)
{
e.printStackTrace();
}
return 0;
}
//测试数据库连接
public static void main(String args[])throws Exception{
System.out.println("得到一个数据连接 "+getConn()) ;
}
}
分享到:
相关推荐
一个关于JDBC数据访问对象封装的学习资料,用于MVC封装数据访问层代码。
数据库与网页连接,JDBC数据访问技术,掌握在JSP中利用JavaBean操作数据库的方法,掌握JSP进行数据库增、查、改、删数据库记录的具体方法。
jsp要真正实现动态,自然要能与数据库连起来,这就需要用jdbc,这里面介绍了一些系统的知识
tomcat配置jdbc数据源,虽然现在基本已经不用tomcat自带的数据源啦,需要的大家看看
sap JDBC数据源配置sap JDBC数据源配置sap JDBC数据源配置
jdbc 数据同步
JDBC数据访问接口收集.pdf
文中包含了JDBC 数据源的详细配置和说参数的说明。并且有图作为参考。
jdbc数据集生成器 根据数据集ResultSet自动生成Html文档(表格),模仿数据库导出数据功能!
基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据驱动的Mysql小项目源码.zip基于JDBC数据...
Java Web JDBC数据源.docx
JDBC数据库访问技术
第五讲:JDBC数据访问接口资料.pdf
weblogic配置jdbc数据源weblogic配置jdbc数据源weblogic配置jdbc数据源
07CHAPTER07--JDBC数据访问接口.pdf
以下是如何使用JDBC构建一个数据访问层,包括数据转换(将从数据库中查询的数据封装到对应的对象中……),数据库的建立,以及如何连接到数据库,需要的朋友可以参考下
NULL 博文链接:https://kingxss.iteye.com/blog/1479451
java面试知识点总结--jdbc数据访问技术.pdf
定期收集总结各大公司java面试、笔试题给大家分享。共同进步。