常规做法:数据库连接池(durid了解一下),据某些统计哈,真正用来做查询的资源不超过整个查询数据库的生命周期的30%,大部分时间都用开创建连接关闭连接等 *** 作,如果这个时候建立数据库连接池的话,可以有效的将这部分时间释放掉
使用Java提供的JDBC技术附上一段常用的JDBC连接MySQL的代码
package DAO
import java.sql.Connection
import java.sql.DriverManager
import java.sql.SQLException
public class JDBC {
private static final String DRIVERCLASS = "com.mysql.jdbc.Driver"
//private static final String URL = "jdbc:mysql://localhost:3306/javademo"
//private static final String USERNAME = "root"
//private static final String PASSWORD = ""
private static final String url ="jdbc:mysql://localhost:3306/EIMS?"
+ "user=root&password=&useUnicode=true&characterEncoding=UTF8"
//通过useUnicode=true&characterEncoding=UTF8 避免中文字符乱码
private static final ThreadLocal<Connection>threadLocal = new ThreadLocal<Connection>()
static {// 通过静态方法加载数据库驱动
try {
Class.forName(DRIVERCLASS)// 加载数据库驱动
System.out.println("成功加载MySQL驱动程序")
} catch (Exception e) {
e.printStackTrace()
}
}
public static Connection getConnection() {// 创建数据库连接的方法
Connection conn = threadLocal.get()// 从线程中获得数据库连接
if (conn == null) {// 没有可用的数据库连接
try {
//conn = DriverManager.getConnection(URL, USERNAME, PASSWORD)// 创建新的数据库连接
conn = DriverManager.getConnection(url)
threadLocal.set(conn)// 将数据库连接保存到线程中
System.out.println("创建数据库连接成功!!")
} catch (SQLException e) {
e.printStackTrace()
}
}
if (conn != null){
System.out.println("数据库连接成功!!")
}
return conn
}
public static boolean closeConnection() {// 关闭数据库连接的方法
boolean isClosed = true
Connection conn = threadLocal.get()// 从线程中获得数据库连接
threadLocal.set(null)// 清空线程中的数据库连接
if (conn != null) {// 数据库连接可用
try {
conn.close()// 关闭数据库连接
} catch (SQLException e) {
isClosed = false
e.printStackTrace()
}
}
if (conn == null){
System.out.println("断开连接成功!!")
}
else {
System.out.println("失败!!")
}
return isClosed
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)