刚开始接触j2ee的时候总是为数据库的开关连接问题而烦恼,虽然问题很简单却很是琐碎,于是干脆写成一个类将所有必要的基本操作全部总结进去,以后只要轻松的import一下就可以了啊:)菜鸟们enjoying!

import java.sql.Connection;

import java.sql.Statement;

import java.sql.ResultSet;

import java.util.Vector;

public class DBConnection {

//数据库属性

public static String dbDriverName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";

//其他驱动自己填写

public static String dbURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName="DBNAME";

public static String dbUserID = "userid";

public static String dbUserPass = "userpassword";

public DBConnection() {

}

public void open() throws Exception{

open( dbDriverName, dbURL, dbUserID, dbUserPass);

}

/**

* 创建一个数据库连接

* @param driver

* JDBC驱动类

* @param url

* 数据库位置

* @param userID

* 数据库登录名

* @param password

* 数据库登录密码

* @throws Exception

* 创建数据库失败

*/

public void open(String driver, String url,

String userID, String password)throws Exception{

close();

Class.forName(driver);

connection = java.sql.DriverManager.getConnection(url, userID, password);

connected = true;

}

/**

* 关闭当前数据库连接

*/

public void close(){

if (connection == null )

return;

try{

if ( !connection.isClosed() )

connection.close();

}catch(Exception e){

}

connected = false;

}

/**

* 判断连接状态

* @return

* 连接返回true,否则返回false;

*/

public boolean isConnected(){

return connected;

}

public void executeInsert (String sql) throws Exception

{

check();

createStatement();

statement.execute(sql);

}

public void executeBatch(Vector sqls)throws Exception{

check();

createStatement();

for( int i = 0; i < sqls.size(); i++ ){

String sql = (String)sqls.get(i);

if ( sql.toLowerCase().trim().startsWith("select")){

throw new Exception("Batch 操作不支持Select操作");

}

statement.addBatch(sql);

}

statement.executeBatch();

}

public ResultSet executeSelect (String sql) throws Exception

{

check();

createStatement();

statement.execute(sql);

return statement.getResultSet();

}

public int executeUpdate (String sql) throws Exception

{

check();

createStatement();

statement.execute(sql);

return statement.getUpdateCount();

}

public int executeDelete (String sql) throws Exception

{

check();

createStatement();

statement.execute(sql);

return statement.getUpdateCount();

}

public void execute (String sql) throws Exception

{

check();

createStatement();

statement.execute(sql);

}

public void beginTrans ()throws Exception

{

check();

connection.setAutoCommit(false);

}

public void commit () throws Exception

{

check();

connection.commit();

}

public void rollback ()

{

try{

connection.rollback();

}catch(Exception e){

}

}

public boolean isConnectioned () throws Exception

{

return connected;

}

protected void check () throws Exception

{

if (!connected)

throw new Exception("没有创建数据库连接");

}

public void createStatement() throws Exception

{

if ( statement == null || connection.getAutoCommit() )

statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);

}

protected Connection connection = null;

protected boolean connected;

protected Statement statement;

}

j2ee和mysql怎么连接_J2EE数据库连接不再烦恼相关推荐

  1. j2ee与mysql乱码过滤_J2EE中文乱码处理

    在JAVA WEB开发的过程中,经常会遇到中文乱码的情况,中文乱码主要是在浏览器与服务器交互传递数据的时候发生的.对于这个棘手的问题,我参考(韩顺平老师)视频将处理方法总结与此,供自己以及大家开发的时 ...

  2. php cli swoole mysql_[了解实践]Swoole、PHP与MySQL:连接池,swoole扩展实现真正的PHP数据库连接池。...

    背景:swoole的出现,包括PHP出现前,在新浪企业邮箱就有基于Sun Solaris 系统上面用c++写Mysql的长连接,那时候的长连接是基于RPC实现,对mysql那一端形成一个远程过程的调用 ...

  3. php框架 mysql拼接操作_PHP对数据库MySQL的连接操作

    PHP对数据库MySQL的连接操作 PHP可以利用扩展.框架进行对数据库的CURD操作.当连接MySQL数据库服务器的时候,PHP中提供的用于MySQL的主要API有三种:mysql扩展.mysqli ...

  4. mysql内连接和外连接的区别_Swoole4创建Mysql连接池

    一 .什么是mysql连接池 场景:每秒同时有1000个并发,但是这个mysql同时只能处理400个连接,mysql会宕机. 解决方案:连接池,这个连接池建立了200个和mysql的连接,这1000个 ...

  5. j2ee与mysql乱码过滤_mysql 在 j2ee中配置的乱码问题处理

    最近要想配置一个j2ee和mysql的工程,却遇到了乱码问题,找了很多的文章各有个的说法,算式零星的总结: 1.统一使用utf-8编码 2.在数据库目录中修改my.ini文件 [mysql] defa ...

  6. php+sqlrelay+mysql实现连接池及读写负载均衡

    本文主要介绍sqlrelay的配置安装.通过其性能和一些具体环境的测试来帮助开发者应用在相应的场合中去应付大并发的mysql数据库连接. 什么是sqlrelay? Sqlrelay是一个开源的数据库连 ...

  7. python3.6 mysql 教程_Python3.6与MySQL建立连接

    ====建立环境==== 1.先安装Python3.6 在公众号中回复Python3.6,获得下载地址.安装. 2.安装MySQL 在公众号中回复MySQL,获得下载地址.安装. 输入mysql -u ...

  8. mysql课程设计案例_JAVA中MySQL建立连接

    下面是在JAVA中与MySQL建立连接的一个模块: package com.han; import java.sql.Connection; import java.sql.DriverManager ...

  9. mysql dsn 连接_各种数据库的连接串(总结DSN的使用方法)

    第一种 - 这种方法用在ACCESS中最多 strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server ...

最新文章

  1. 头条三面:toString()、String.valueOf、(String)强转,有啥区别?
  2. 三层架构(我了解并详细分析)
  3. php 接受数组_PHP接收前端发送的数组
  4. linux系统用xset命令,专 linux命令之set x详解
  5. kernel 3.10内核源码分析--中断--中断和异常返回流程
  6. 雷军1994年写的诗一样的代码,我把它运行起来了!
  7. 是vans_硬核复刻,就服VANS棋盘格
  8. 动态规划在求解传递闭包问题中的应用(JAVA)--Warshell算法
  9. 这部日本「神作」彻底拉低了我入门AI的门槛
  10. 尽量不要在viewWillDisappear:方法中移除通知
  11. Timeline使用手册
  12. 需求文档2_The Battle of Polytopia
  13. 百度硬盘邀请码在放送
  14. 因为mac不支持移动硬盘的NTFS格式,mac电脑无法写入移动硬盘的终极解决办法(方便好用)
  15. php判断某天星期几,php怎么判断指定日期是星期几?
  16. 阿里技术风险与效能部负责人张瓅玶:从底层资源到核心竞争力 阿里巴巴的深度用云实践
  17. 如何复制网页上不能复制的文字
  18. 关于mysql答辩的问题_答辩常见问题总结.doc
  19. 新品爆款打造流程与操作步骤--电商人必看
  20. 会声会影X7安装中的问题

热门文章

  1. 转:有关常量的知识点
  2. memory拷贝与string拷贝的区别
  3. Windows跟Linux的不同处理
  4. python不用加号实现加法
  5. centos yum “The requested URL returned error: 404”错误
  6. Bootloader启动过程
  7. 云计算之路-阿里云上:拔云见日的那一刻,热泪盈眶
  8. How to set up native subversion (javahl) with Subclipse on Mac OS X
  9. poj 3748 位操作
  10. javascript 打开新窗口