100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 数据库JDBCUtil 工具类 增加连接池操作

数据库JDBCUtil 工具类 增加连接池操作

时间:2021-10-30 07:35:12

相关推荐

数据库JDBCUtil 工具类  增加连接池操作

数据库工具类 当前mysql数据库版本为8.011

1.配置文件 jdbc.properties(红字为新版本必须添加)

driverClass=com.mysql.cj.jdbc.Driverurl=jdbc:mysql://localhost:3306/db1?characterEncoding=UTF-8&serverTimezone=Hongkong&useSSL=false&autoReconnect=true&failOverReadOnly=falsename=rootpassword=rootInitialSize=2MaxIdle=4

2.工具类 获取配置文件 驱动名称,url,mysql用户名,mysql密码,连接池默认大小,以及连接池最大值

将配置属性加入连接池

package uitl;import java.io.InputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.Properties;import mons.dbcp2.BasicDataSource;public class JDBCUtil {// 驱动名称static String driverClass = null;// URL指向要访问的数据库名mydatastatic String url = null;// MySQL配置时的用户名static String name = null;// MySQL配置时的密码static String password = null;// 数据库连接池初始数量static Integer initSize;// 数据库连接池最大数量static Integer maxSize;// 数据库连接池static BasicDataSource dataSource;/*** 读取配置文件 设置以上属性* 以配置文件获得 驱动名称,url,mysql用户名,mysql密码,连接池默认大小,连接池最大值* 创建连接池*/static {try {Properties properties = new Properties();// InputStream is = new FileInputStream("jdbc.properties");// 文件必须在src文件夹或resources文件夹下InputStream is = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties");properties.load(is);// 读取配置文件属性driverClass = properties.getProperty("driverClass");url = properties.getProperty("url");name = properties.getProperty("name");password = properties.getProperty("password");initSize = Integer.valueOf(properties.getProperty("InitialSize"));maxSize = Integer.valueOf(properties.getProperty("MaxIdle"));// *****连接池相关************dataSource = new BasicDataSource();dataSource.setDriverClassName(driverClass);dataSource.setUrl(url);dataSource.setUsername(name);dataSource.setPassword(password);// 设置初始化连接数量dataSource.setInitialSize(initSize);// 设置最大连接数据dataSource.setMaxIdle(maxSize);} catch (Exception e) {// TODO: handle exception}}

3.创建加载驱动并且获得连接对象的方法

/*** * @Title: getConn* @Description: TODO(加载驱动并且获取连接对象)* @param: @return* @return: Connection 连接对象* @throws*/public static Connection getConn() throws Exception {return dataSource.getConnection();}

4.创建关闭资源方法

/*** * @Title: release* @Description: TODO(关闭资源)* @param: @param conn* @param: @param stat* @param: @param rs* @return: void* @throws*/public static void release(Connection conn, Statement stat, ResultSet rs) {try {if (rs != null) {rs.close();}if (stat != null) {stat.close();}if (conn != null) {conn.close();}} catch (SQLException e) {e.printStackTrace();}}

5.定义数据库增删改查的接口

package dao;import java.util.ArrayList;import domain.User;/*** * @ClassName: UserDao* @Description:TODO(定义操作数据库的方法)* @author: kiko* @date: 5月24日 上午10:22:19* * @Copyright: */public interface UserDao {/*** * @Title: findAll* @Description: TODO(查询数据库user所有数据的接口)* @param: @return* @return: ArrayList<User> User对象集合* @throws*/ArrayList<User> findAll();/*** * @Title: insert* @Description: TODO(向数据库添加user的接口)* @param: @param s* @return: void* @throws*/void insert(User s);/*** * @Title: update* @Description: TODO(按照id修改数据库中user的接口)* @param: @param s* @param: @param id* @return: void* @throws*/void update(User s, int id);/*** * @Title: delete* @Description: TODO(删除数据库数据的接口)* @param: @param s* @return: void* @throws*/void delete(User s);}

6 根据具体情况实现接口 和调用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。