javaweb中mysql数据库连接步骤方法及其实例

发布时间 - 2026-01-11 00:41:40    点击率:

一、直接连接,不封装到工具类中,主要步骤:

先导包:mysql-connector-java-5.0.8-bin.jar(点击跳转到下载界面),放在WebRoot/WEB-INF/lib/下

1.加载驱动//com.MySQL.jdbc.Driver

2.获取连接 Connection对象

3.获取用于向数据库发送SQL的Statement对象

4.执行sql,获取数据,解析数据

5.关闭连接,释放资源

/*协议:子协议://主机:端口/数据库名*/
Stringurl="jdbc:mysql://localhost:3306/jdbctest";
//mysql数据库的用户名与密码,安装时自己设置,一般默认为root
Stringuser="root";
Stringpassword="root";
Connectionconnection=null;
Statementstatement=null;
ResultSetresultSet=null;
try{
//1.加载驱动//com.mysql.jdbc.Driver
/*
*DriverManager.registerDriver(new
*Driver());用这种方法会加载两次驱动,也就是说会创建两个drive对象
*/
Class.forName("com.mysql.jdbc.Driver");
//2.获取连接
connection=DriverManager.getConnection(url,user,password);
//3.获取用于向数据库发送SQL的Statement对象
statement=connection.createStatement();
//4.执行sql,获取数据
resultSet=statement.executeQuery("SELECT*FROMusers;");
//解析数据
while(resultSet.next()){
intid=resultSet.getInt("id");
Stringname=resultSet.getString("name");
Stringpsd=resultSet.getString("password");
Stringemail=resultSet.getString("email");
Stringbirthday=resultSet.getString("birthday");
System.out.println(id+""+name+""+psd+""+email
+""+birthday);
}
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}catch(SQLExceptione){
e.printStackTrace();
}finally{
//5.关闭连接,释放资源
if(resultSet!=null){
try{
resultSet.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
resultSet=null;
}
if(statement!=null){
try{
statement.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
statement=null;
}
if(connection!=null){
try{
connection.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
connection=null;
}
/* 协议:子协议://主机:端口/数据库名 */
String url = "jdbc:mysql://localhost:3306/jdbctest";
// mysql数据库的用户名与密码,安装时自己设置,一般默认为root
String user = "root";
String password = "root";
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
  // 1.加载驱动//com.mysql.jdbc.Driver
  /*
   * DriverManager.registerDriver(new
   * Driver());用这种方法会加载两次驱动,也就是说会创建两个drive对象
   */
  Class.forName("com.mysql.jdbc.Driver");
  // 2.获取连接
  connection = DriverManager.getConnection(url, user, password);
  // 3.获取用于向数据库发送SQL的Statement对象
  statement = connection.createStatement();
  // 4.执行sql,获取数据
  resultSet = statement.executeQuery("SELECT * FROM users;");
  // 解析数据
  while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
String psd = resultSet.getString("password");
String email = resultSet.getString("email");
String birthday = resultSet.getString("birthday");
System.out.println(id + " " + name + " " + psd + " " + email
+ " " + birthday);
  }
} catch (ClassNotFoundException e) {
  e.printStackTrace();
} catch (SQLException e) {
  e.printStackTrace();
} finally { 
    //5.关闭连接,释放资源
  if (resultSet != null) {
try {
  resultSet.close();
} catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
resultSet = null;
  }
  if (statement != null) {
try {
  statement.close();
} catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
statement = null;
  }
  if (connection != null) {
try {
  connection.close();
} catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
connection = null;
  }
}

二、将数据库连接封装成一个工具类

这样做的好处是,在实际开发中,就能做到,改一处即可修改全局。

1.建一个名为db.properties的配置文件,放于src/

url=jdbc:mysql://localhost:3306/jdbctest
username=root
password=root
driver=com.mysql.jdbc.Driver

2.工具类:

importjava.io.IOException;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.Properties; 
publicclassJdbcUtil{
//私有静态变量,用以读取配置文件
privatestaticPropertiesconfig=newProperties();
static{
try{
//配置资源文件
config.load(JdbcUtil.class.getClassLoader().getResourceAsStream("db.properties"));
//加载驱动
Class.forName(config.getProperty("driver"));
}catch(IOExceptione){
e.printStackTrace();
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
}
publicstaticConnectiongetConnection(){
Connectionconnection=null;
try{
connection=DriverManager.getConnection(config.getProperty("url"),config.getProperty("username"),config.getProperty("password"));
}catch(SQLExceptione){
e.printStackTrace();
}
returnconnection;
}
//用以关闭连接,释放资源
publicstaticvoidreleaseConn(Connectionconnection,Statementstatement,
ResultSetresultSet){
if(resultSet!=null){
try{
resultSet.close();
}catch(SQLExceptione){
e.printStackTrace();
}
resultSet=null;
}
if(statement!=null){
try{
statement.close();
}catch(SQLExceptione){
e.printStackTrace();
}
statement=null;
}
if(connection!=null){
try{
connection.close();
}catch(SQLExceptione){
e.printStackTrace();
}
connection=null;
}
} 
}

3.使用实例:

Connectionconnection=null;
Statementstatement=null;
ResultSetresultSet=null;
try{
//调用工具类中的静态方法来获取连接
connection=JdbcUtil.getConnection();
statement=connection.createStatement();
resultSet=statement.executeQuery("select*fromusers");
while(resultSet.next()){
intid=resultSet.getInt("id");
Stringname=resultSet.getString("name");
Stringpsd=resultSet.getString("password");
Stringemail=resultSet.getString("email");
Stringbirthday=resultSet.getString("birthday");
System.out.println(id+""+name+""+psd+""+email
+""+birthday); 
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//调用工具类中的静态方法来关闭连接,释放资源
JdbcUtil.releaseConn(connection,statement,resultSet);
}

希望本文可以对需要的朋友有帮助


# javaweb中mysql数据库连接方法  # javaweb中mysql数据库连接  # Java连接MySql的详细介绍  # java连接mysql数据库乱码的解决方法  # Java连接MYSQL数据库的实现步骤  # java连接mysql数据库详细步骤解析  # java连接MySQl数据库实例代码  # java连接Mysql数据库的工具类  # java连接MySQL数据库实现代码  # JavaWeb连接数据库MySQL的操作技巧  # java连接mysql数据库的方法  # Java+MySQL前后端连接新手小白教程  # 加载  # 类中  # 两次  # 方法来  # 配置文件  # 默认为  # 也就是说  # 放在  # 这种方法  # 就能  # 这样做  # 一处  # 以对  # 跳转到  # 在实际  # registerDriver  # DriverManager  # mysql  # connector  # strong 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速辨别茅台真假?关键步骤解析  Laravel如何实现一对一模型关联?(Eloquent示例)  Laravel如何实现模型的全局作用域?(Global Scope示例)  如何在IIS中新建站点并配置端口与物理路径?  网易LOFTER官网链接 老福特网页版登录地址  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  高防服务器租用指南:配置选择与快速部署攻略  iOS正则表达式验证手机号、邮箱、身份证号等  Linux后台任务运行方法_nohup与&使用技巧【技巧】  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  如何在腾讯云服务器快速搭建个人网站?  Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】  如何用PHP工具快速搭建高效网站?  JavaScript数据类型有哪些_如何准确判断一个变量的类型  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何批量查询域名的建站时间记录?  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  英语简历制作免费网站推荐,如何将简历翻译成英文?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  打造顶配客厅影院,这份100寸电视推荐名单请查收  如何在阿里云ECS服务器部署织梦CMS网站?  利用vue写todolist单页应用  历史网站制作软件,华为如何找回被删除的网站?  如何在香港免费服务器上快速搭建网站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  济南网站建设制作公司,室内设计网站一般都有哪些功能?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  Laravel如何实现用户注册和登录?(Auth脚手架指南)  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  js实现获取鼠标当前的位置  Firefox Developer Edition开发者版本入口  如何在 Pandas 中基于一列条件计算另一列的分组均值  jQuery中的100个技巧汇总  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何正确下载安装西数主机建站助手?  手机网站制作与建设方案,手机网站如何建设?  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  Python高阶函数应用_函数作为参数说明【指导】  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  无锡营销型网站制作公司,无锡网选车牌流程?  手机软键盘弹出时影响布局的解决方法  Java解压缩zip - 解压缩多个文件或文件夹实例  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?