java线程中使用mysql连接查询数据库

java线程中使用mysql连接查询数据库,第1张

不建议这样做,一般不符合开发规范,如果这样的话,你想想在业务量多的情况下,多个线程如果不控制,数据库连接会将数据库服务器爆掉的,会影响业务的

常规做法:数据库连接池(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

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6888485.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存