如何将常用的jdbc方法封装起来???

你是否还在为每次新建项目连接数据库而烦恼???(教你一次代码,简单完成每次连接)

如何将常用的jdbc方法封装起来???_第1张图片

 1.建立maven项目

还没下载安装或者不会建立maven项目的可以看这里哦:maven的下载安装与配置环境变量!!!(全网最详细)_明天更新的博客-CSDN博客

2.编写配置文件。

如何将常用的jdbc方法封装起来???_第2张图片

  
            
                javax.servlet
                javax.servlet-api
                4.0.1
                provided
            
            
                javax.servlet.jsp
                jsp-api
                2.2
                provided
            
            
                javax.servlet
                jstl
                1.2
            
            
            
                com.mysql
                mysql-connector-j
                8.1.0
            
        

3.在项目的src/main/resources文件下建立db.properties文件,并写入一下代码。

如何将常用的jdbc方法封装起来???_第3张图片

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql:/book
db.username=root
db.password=

4.编写工具类。

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package cn;


import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.*;

/**
 * 

Project: jdbcUnitls - Untils

*

Powered by scl On 2023-08-15 19:12:41

*

描述:

* * @author 孙臣龙 [[email protected]] * @version 1.0 * @since 17 */ public class Untils { private String driver; private String url; private String username; private String password; private Connection con; //初始化自动建立连接 public Untils() { connect(); } //初始化传参可以连接自定义数据库 public Untils(String url, String username, String password) { this.url = url; this.username = username; this.password = password; connect(url, username, password); } //建立连接,默认数据库 public void connect() { Class until = Untils.class; InputStream db = until.getClassLoader().getResourceAsStream("db.properties"); Properties prop = new Properties(); try { prop.load(db); this.driver = prop.getProperty("db.driver", "com.mysql.cj.jdbc.Driver"); Class.forName(this.driver); this.url = prop.getProperty("db.url", "jdbc:mysql:/mysql"); this.username = prop.getProperty("db.username", "root"); this.password = prop.getProperty("db.password", ""); con = DriverManager.getConnection(this.url, this.username, this.password); } catch (Exception e) { e.printStackTrace(); } } //建立连接,指定数据库 public void connect(String url, String username, String password) { try { Class.forName(driver); con = DriverManager.getConnection(url, username, password); } catch (Exception e) { e.printStackTrace(); } } //获取版本号 public String version() { String ver = ""; try { ver = this.con.getMetaData().getDatabaseProductVersion(); } catch (Exception e) { e.printStackTrace(); } return ver; } //建立数据库 public void creatdatabase(String dbname) { try { String sql = "create database if not exists " + dbname; PreparedStatement ps = con.prepareStatement(sql); ps.execute(); } catch (Exception e) { e.printStackTrace(); } } //删除数据库 public void deletedatabase(String dbname) { try { String sql = "drop database if exists " + dbname; PreparedStatement ps = con.prepareStatement(sql); ps.execute(); } catch (Exception e) { e.printStackTrace(); } } //查看所有数据库(排除系统数据库) public Set showdatabase() { Set set = new HashSet<>(); try { String sql = "show databases"; PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); Set exclude = new HashSet<>(List.of("information_schema", "performance_schema", "test", "sys", "mysql")); while (rs.next()) { String database = rs.getString(1); if (exclude.contains(database)) continue; set.add(rs.getString(1)); } rs.close(); ps.close(); } catch (Exception e) { e.printStackTrace(); } return set; } //查看指定数据库的所有表 public List showtables(String dbname) { List list = new ArrayList<>(); try { String sql = "show tables "; if (dbname != null && dbname.length() > 0) { sql = "show tables from " + dbname; } PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while (rs.next()) { list.add(rs.getString(1)); } ps.close(); rs.close(); } catch (Exception e) { e.printStackTrace(); } return list; } //查看使用数据库的表 public List showtables() { String dbname = ""; try { String sql = "select database()"; PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); if (rs.isBeforeFirst()) { rs.next(); dbname = rs.getString(1); } } catch (Exception e) { e.printStackTrace(); } return showtables(dbname); } //关闭连接 public void close() { try { con.close(); } catch (Exception e) { e.printStackTrace(); } } public String getDriver() { return driver; } public void setDriver(String driver) { this.driver = driver; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public Connection getCon() { return con; } public void setCon(Connection con) { this.con = con; } }

5.将你写好的项目进行打包。

不会打包的可以作为参考:maven如何打包你会吗?_明天更新的博客-CSDN博客

如何将常用的jdbc方法封装起来???_第4张图片

如何将常用的jdbc方法封装起来???_第5张图片

如何将常用的jdbc方法封装起来???_第6张图片

 6.将打包文件复制到常用架包文件夹中。

如何将常用的jdbc方法封装起来???_第7张图片

 如何将常用的jdbc方法封装起来???_第8张图片

 如何将常用的jdbc方法封装起来???_第9张图片

 7.使用架包(一行代码连接数据库)

如何将常用的jdbc方法封装起来???_第10张图片

 如何将常用的jdbc方法封装起来???_第11张图片

 如何将常用的jdbc方法封装起来???_第12张图片

 如何将常用的jdbc方法封装起来???_第13张图片

如何将常用的jdbc方法封装起来???_第14张图片

有小伙伴就有疑问啦: 这就结束了????多少是有点简单了

后续功能你可以根据自己所学进行添加。

如何将常用的jdbc方法封装起来???_第15张图片

 

你可能感兴趣的:(数据库,idea,mysql,java,maven,驱动开发)