在Eclipse中编写jsp网页,引用数据库,并使用连接池

  在网页编写中,会经常需要用到数据库,我尝试了两种数据库的引用,一种是mysql,一种是sqilte,一开始我使用的是mysql,后来觉得每次移植需要重新搭建mysql的环境太麻烦,而我的数据量又不大,所以又改到sqlite中。

mysql的使用

先放一个mysql的jar文件的下载链接,传送门mysql-connector-java-8.0.11
主要代码:

import java.io.File; 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
//首先导入一些可能会用到的sql相关的功能包

public class BaseDao {
public synchronized static Connection getConnection() {
	//存放Connection对象的数组,数组作为连接池
	static ArrayList<Connection>list=new ArrayList<Connection>();
	//定义一个连接,并初始化
	Connection con=null; 
	//mysql打开数据库文件
	public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
	final String DBURL="jdbc:mysql://localhost:3306/ybwtest?serverTimezone=UTC";
	final String DBUSER="root";
	final String DBPASS="67936";
	
	//如果连接池中有连接对象,则移除
	  if(list.size()>0) {
   		return list.remove(0);
  	  }
  	  //如果连接池没有连接对象则创建连接放到连接池中
  	    else {
   		for(int i=0;i<5;i++) {
			 //创建连接
   			 try {
   			 con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
     			 list.add(con);
   			 }catch (SQLException e) {
    				 // TODO: handle exception
    				 e.printStackTrace();
    				}
   			}
 		 }
 		 return list.remove(0);
 	}

以上就是主要的代码,下面附上路径检查的代码:

public static void checkDirExists(File file) {
	if (file.exists()) {
		if (!file.isDirectory()){
			System.out.println("同名文件存在, 不能创建");
		}
	}else{
		System.out.println("数据库目录不存在,创建目录");
		file.mkdir();
		}
	}

sqlite的使用

sqlite用到的jar包的下载链接,传送门:sqlite-jdbc-3.23.1
主要代码与mysql区别不大,主要是修改以下几个地方:

 public static final String DBDRIVER="org.gjt.mm.mysql.Driver";
 final String DBURL="jdbc:mysql://localhost:3306/ybwtest?serverTimezone=UTC";
 final String DBUSER="root";
 final String DBPASS="66666";
 
 修改为以下内容:
 
  //连接sqlite数据库,后面为什么是org.sqlite.JDBC,这个你别问,反正别乱改,就这么写
 final String DBDRIVER = "org.sqlite.JDBC";
 //您想要存放数据库的位置。这个路径必须存在,不然会报错,我在下一步中进行了路径检查
 File mfile =new File("D:\\TX_INFO_DATA");
 //这个是自定义的函数,作用是检查路径,如不存在则创建
 checkDirExists(mfile);
 final String DB_URL = "jdbc:sqlite:D:\\TX_INFO_DATA/TX_Info_database.db";

以及

     for(int i=0;i<5;i++) {
	   //创建连接
       try {
   		 con=DriverManager.getConnection(DBURL,DBUSER,DBPASS);
        	 list.add(con);
       }catch (SQLException e) {
        	 // TODO: handle exception
       		  e.printStackTrace();
        }
      }
    }

	修改为以下内容:

     for(int i=0;i<5;i++) {
       try {
        	 Class.forName("org.sqlite.JDBC");
       }catch (ClassNotFoundException e) {
        	  // TODO: handle exception
          	e.printStackTrace();
       }
       //创建连接
       try {
   		con=DriverManager.getConnection(DB_URL);
         	list.add(con);
       }catch (SQLException e) {
        	 // TODO: handle exception
         	e.printStackTrace();
        }
      }
    }
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼月半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值