数据库的连接

对于数据库的连接,首先我们需要把数据库的驱动包导入进去,没有数据库驱动包的可以去下载,我这里提供了下载地址,你们可以选择去下载需要的https://mvnrepository.com/search?q=connector。具体实现连接在下面:
第一种方式直接在类里面写一个方法去连接它。
这是mysql数据库的连接

private Connection getConnection() {
	Connection conn = null;
	String url= "**jdbc:mysql://localhost:3306/<数据库名>?"
			+"user=<用户名>&password=<密码>&useUnicode=true&characterEncoding=UTF-8";
			try {
				Class.forName("com.mysql.jdbc.Driver");
				conn=DriverManager.getConnection(url);
			} catch (ClassNotFoundException | SQLException e) {
				e.printStackTrace();
			}
	return conn;
}

上面的数据库连接,可以直接写一个类,把这个方法放进去就可以,数据库名,用户名和密码不需要<>这个,只是为了形象,加的。
也可以选择连数据库的时候选择单例模式,下面我用单例模式去连接数据库
首先,我们需要把我们数据库的信息放在db.properties里面
db.properties代码如下
这是mysql的

className=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/数据库名
user=用户名
password=密码

这是Oracle的

className=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@127.0.0.1:1521:数据库名
user=用户名
password=密码

把db.properties这个配置文件放在src目录下就可以。
然后我们要去写一个单例模式去调用它,单例模式有二种,这里就不说明了。
我写了一个单例模式ReadPro.java
代码如下:

package com.plsql.dao;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import com.plsql.util.InitData;

public class ReadPro extends Properties{
private static final long serialVersionUID = -825278377051226978L;
private static ReadPro instance = new ReadPro();

@SuppressWarnings("resource")
private ReadPro() {
	InputStream is = null;
	try {
			is = ReadPro.class.getClassLoader().getResourceAsStream("db.properties");
		}
		this.load(is);
	} catch (Exception e) {
		e.printStackTrace();
	}finally {
		if(is != null) {
			try {
				is.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}
	
}
public static ReadPro getInstance() {
	return instance;
}

}

现在就可以写一个类,在类里面创建自己的连接了
类的名字可以自己取,我这里写了一个DBHelper.java
具体实现代码如下:

public class DBHelper {
static {
	try {
		
		Class.forName(ReadPro.getInstance().getProperty("className"));
		
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
}
/**
 * 获取连接的方法
 * @return
 */
private Connection getConnection() {
	Connection con = null;
	try {
		con = DriverManager.getConnection(ReadPro.getInstance().getProperty("url"), 
				ReadPro.getInstance());
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return con;
		
}
}

第二种连接方式是:
在Servers里面直接配置好数据库连接,可以放在Servers下面的Tomcat下面的Context.xml里面,这里面主要保存一些全局变量。
mysql数据库的连接代码如下:

	<Resource
 	name="mysql"
 	type = "javax.sql.DataSource"
 	auth = "Container"
 	driverClassName = "com.mysql.jdbc.Driver"
 	url = "jdbc:mysql://127.0.0.1:3306/**数据库名**"
 	username = "**用户名**"
 	password = "**密码**"
 	autoReconnect = "true"
 	maxActive = "120"
 	maxIdle = "30"	 />

Oracle数据库连接如下:

	<Resource
 	name="orcl"
 	type = "javax.sql.DataSource"
 	auth = "Container"
 	driverClassName = "oracle.jdbc.driver.OracleDriver"
 	url = "jdbc:oracle:thin:@127.0.0.1:1521:**数据库名**"
 	username = "**用户名**"
 	password = "**密码**"
 	autoReconnect = "true"
 	maxActive = "120"
 	maxIdle = "30"/>

对于上面的各种属性,下面有说明:

name: 指定esource的JNDI名称(Java Naming and Directory Interface,Java命名和目录名)
type: 这个资源的类型
auth: 指定管理这个资源的Manager。 Container:说明由容器管理 Application:说明应用程序管理
autoReconnect: 当数据异常断开时,是否自动重连
maxActive: 连接池中同一时刻所能提供的最大连接数,一般是系统注册人数的十分之一到二十分之一
maxIdle: 指定连接池中的最大空闲数
maxWait: 最大等待数**

这里我只写了连接,写的不好的地方勿怪,我是个新手,这是第一次写,我正在努力学习。o( ̄︶ ̄)o o( ̄︶ ̄)o

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值