java操作数据库的3中基本方式

//jdbc提取出来的工具类

package utils;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import com.mysql.jdbc.Statement;

public class JdbcUtils {
private static final String DRIVERCLASS;
private static final String URL;
private static final String USERNAME;
private static final String PASSWORD;
static{
Properties p = new Properties();
try {
p.load(new FileInputStream("src/jdbc.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
DRIVERCLASS = p.getProperty("driverClass");
URL = p.getProperty("url");
USERNAME = p.getProperty("username");
PASSWORD = p.getProperty("password");
}
/**

  • 加载驱动
    */
    public static void loadDriver(){
    try {
    // 加载驱动
    Class.forName(DRIVERCLASS);
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    }
    }
    /**
  • 获取连接,返回连接
  • @return
    */
    public static Connection getConnection(){
    // 调用一次加载驱动的方法
    loadDriver();
    Connection conn = null;
    try {
    // 获取连接
    conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    return conn;
    }
    /**
  • 释放资源
  • @param stmt
  • @param conn
    */
    public static void release(Statement stmt,Connection conn){
    if(stmt != null){
    try {
    stmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(conn != null){
    try {
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }

    /**

  • 释放资源
  • @param stmt
  • @param conn
    */
    public static void release(ResultSet rs,Statement stmt,Connection conn){
    if(rs != null){
    try {
    rs.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(stmt != null){
    try {
    stmt.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    if(conn != null){
    try {
    conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    }

//链接池和jdbc联合提取出来的工具类
package utils;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import com.mysql.jdbc.Statement;

public class JdbcUtils {

/**
 * 获取连接,返回连接 是apache的
 * @return
 */
public static Connection getDbcpConnection(){
    Connection connection = null;
    try {
        Properties pro = new Properties();
        pro.load(new FileInputStream("src\\dbcpconfig.properties"));
        DataSource ds = BasicDataSourceFactory.createDataSource(pro);
        connection = ds.getConnection();//被增强后的connetion
    } catch (Exception e) {
        e.printStackTrace();
    }
    return connection;
}
/**
 * 获取连接,返回连接 不是apache的
 * 配置文件名称是固定的c3p0-config.xml 并且 放在src目录下
 * ComboPooledDataSource会自动去src目录查找c3p0-config.xml的配置文件
 * @return
 */
public static Connection getC3P0Connection(){
    Connection connection = null;
    try {
        DataSource ds =new ComboPooledDataSource();//这个地方的参数是与配置文件匹配,如果不写,则为默认
        connection = ds.getConnection();//被增强后的connetion
    } catch (Exception e) {
        e.printStackTrace();
    }
    return connection;
}
/**
 * 释放资源
 * @param stmt
 * @param conn被增强后的
 */
public static void release(Statement stmt,Connection conn){
    if(stmt != null){
        try {
            stmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(conn != null){
        try {
            // 已经变成了归还了...
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

/**
 * 释放资源
 * @param stmt
 * @param conn被增强后的
 */
public static void release(ResultSet rs,Statement stmt,Connection conn){
    if(rs != null){
        try {
            rs.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(stmt != null){
        try {
            stmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    if(conn != null){
        try {
            // 把close()给修改了,原来是销毁连接,现在让方法变成归还连接。
            conn.close();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

}

//DButis的使用 导入包

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.junit.Test;

import com.mchange.v2.c3p0.ComboPooledDataSource;
/**

java操作数据库的3中基本方式

原文地址:http://blog.51cto.com/13579086/2065151

时间: 2024-08-01 00:24:25

java操作数据库的3中基本方式的相关文章

JDBC——java操作数据库的一系列接口

一.JDBC概述(mysql) 1.Java DataBase Connective 1)概念:JDBC其实就是一套Java操作数据库的规范(接口); 2)数据库驱动: 各个数据库厂商要让java语言去操作数据库就必须实现这套接口,每个数据库都写有一套实现类叫数据库驱动. 3)使用: //导入mysql数据库jar包 //将jar放在lib目录下 右键add--->builderpath //加载驱动 Class.forName("com.mysql.jdbc.Driver");

java 操作数据库clob类型大字段

java 操作数据库clob类型大字段,处理工具类如下: package org.shefron.utils; import java.io.StringReader; import java.sql.Clob; import java.sql.PreparedStatement; import java.sql.SQLException; public class ClobUtils { public final static String getValueFromClob(Clob clob

用Java操作数据库Datetime数据

Date.Calendar.Timestamp的区别.相互转换与使用 1 Java.util.Date 包含年.月.日.时.分.秒信息. 1 // String转换为Date 2 String dateStr="2013-8-13 23:23:23"; 3 String pattern="yyyy-MM-dd HH:mm:ss"; 4 DateFormate dateFormat=new SimpleDateFormat(pattern); 5 Date date=

java操作数据库出现(][SQLServer 2000 Driver for JDBC]Error establishing socket.)的问题所在即解决办法

在进行jdbc直接操作数据库时    : 我们需要对该工程进行一次导包(引入"msbase.jar" "mssqlserver.jar" "msutil.jar"  这三个包,具体的做法为  )                         用手标选中我们要导入包的项目,点击右键出现了一些列的列表,选中 Properties ,继而在该面板中选中Java Bukid Path,然后再选中 Add External Jars ,最后选中我们要导入

Java操作数据库实现"增删改查"

本文主要讲解JDBC操作数据库    主要实现对MySql数据库的"增删改查" 综合概述: JDBC的常用类和接口 一   DriverManager类 DriverManage类用来管理数据库中的所有驱动程序,是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动之间建立连接,DriverManager类中的方法都是静态方法,下列是DriverManager的常用方法: getConnection(String URL,String user,String

java操作数据库:分页查询

直接上.... 还是用之前的goods表,增加了一些数据 1.实体类Goods // 封装数据 public class Goods { private int gid; private String gname; private String gprice; private String gdate; public int getGid() { return gid; } public void setGid(int gid) { this.gid = gid; } public String

java操作数据库的基本方法

此次开发工具为eclipse,才有的数据库驱动是mysql-connector-java-5.1.8-bin.jar 第一步,在eclipse的工程目录中引用mysql驱动 驱动下载地址:https://dev.mysql.com/downloads/connector/j/ 选择build path 然后选择configure build path 再选择libraries,选择add external library,找到之前下的数据库驱动,确认,ok 然后下一段测试代码将数据库驱动起来 p

jmeter操作数据库和分布式、nogui方式运行

1. jmeter 压测.看结果 tps/qps 服务端每秒处理的请求数 越大越好 throughput 响应时间 服务端处理请求的时间 越小越好 average 2.jmeter操作数据库 jmeter操作数据库 1.添加jdbc配置,写好mysql的连接信息.账号密码 jdbc:mysql://ip:3306/jxz?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true 2.添加连接数据库的jar包 oracle j

java操作数据库的通用的类

package cn.dao; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;