对于数据库的连接,首先我们需要把数据库的驱动包导入进去,没有数据库驱动包的可以去下载,我这里提供了下载地址,你们可以选择去下载需要的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