JDBC连接数据库工具类模板打包,这里以MySQL为例

之前写代码,凡是牵扯到数据库连接的,尤其是项目中的DAO层,每写一个方法都要重复步骤:加载数据库驱动,建立连接……使得代码十分的繁琐,又很浪费时间,写了一个连接数据库的工具类,以便以后使用,只要这样写好了以后任何地方只要连接数据库都可以使用这个模板!
在这里插入图片描述
这里给你带来的就是推荐的连接方式!!!

1.目录结构

在src/main/java下创建一个包也就是用来存放工具类的这个类实现了读取数据库的封装。
在这里插入图片描述

2.DBUtils类代码

package cn.tedu.utils;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import com.alibaba.druid.pool.DruidDataSource;

public class DBUtils {

	private static DruidDataSource ds;
	static {
		// 创建读取*.properties配置文件的对象
		Properties p = new Properties();
		/*
		 * 获取文件的输入流,通过反射的方式得到文件的输入流 这种写法会自动去,src/main/resources文件目录下查找
		 */
		InputStream ips = DBUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
		try {
			p.load(ips);
		} catch (Exception e) {
			e.printStackTrace();
		}
		String url = p.getProperty("db.url");
		String username = p.getProperty("db.username");
		String password = p.getProperty("db.password");
		String driver = p.getProperty("db.driver");
		// 获取数据连接
		// Connection conn = DriverManager.getConnection(url, username, password);

		// 创建数据连接池对象
		ds = new DruidDataSource();

		// 设置数据连接信息
		ds.setDriverClassName(driver);
		ds.setUrl(url);
		ds.setUsername(username);
		ds.setPassword(password);
		// 设置初始连接数据
		ds.setInitialSize(3);
		// 设置最大连接量
		ds.setMaxActive(5);

	}

	public static Connection getConn() throws SQLException {

		// 从连接池中获取连接对象,抛异常
		Connection conn = ds.getConnection();

		return conn;
	}

}

THUtils类代码

package cn.tedu.utils;

import java.io.IOException;
import java.io.PrintWriter;


import javax.servlet.http.HttpServletResponse;

import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;


public class THUtils {
	private static TemplateEngine te;
	static {
		// 创建模板解析器
		//使用该解析器对象可以直接去main/resources目录下找资源
		ClassLoaderTemplateResolver r = new ClassLoaderTemplateResolver();
		// 设置字符集
		r.setCharacterEncoding("utf-8");
		// 创建模板引擎
		 te = new TemplateEngine();
		//引擎对象和解析器关联
		te.setTemplateResolver(r);
	}

	
	public static void write(String fileName,
			Context context,HttpServletResponse response) throws IOException {
		//将模板和Context容器数据整合到一个新的html
		String html = te.process(fileName, context);
		//把得到的html返回给浏览器
		response.setContentType("text/html;charset=utf-8");
		PrintWriter pw = response.getWriter();
		pw.print(html);
		pw.close();
		
	}
	
}

3.然后我们在src/main/resources下创建properties配置文件

在这里插入图片描述
代码**记得将需要使用的数据库名称和的密码改成你自己的**:

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/newdb3?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true
db.username=root
db.password=123456
db.maxActive=10
db.initialSize=2

4.然后我们就可以每次都在控制器类中使用以下代码实现跟数据库的连接!

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import cn.tedu.utils.DBUtils;

public class XxxDao {
	public void insert(Xxx xxx) {
		try (Connection conn = DBUtils.getConn();) {
			
          //数据库操作语句
		} catch (SQLException e) {

			e.printStackTrace();
		}

	}
	
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值