Jdbc数据库的连接工具类
-
- 1. 开篇简述
- 2. 驱动导包
- 3. 注意事项
- 4. 代码实现
- 5. 总结
1. 开篇简述 【Java小案例|Jdbc数据库的连接工具类】嗨,大家好!!!
在熬过了,有差不多一周多吧,小编最近不知道分享点什么好,这两天,琢磨琢磨,就想给大家分享一下,关于数据库怎么连接上我们的java代码的。说直白点,就是我们怎么用java代码来对数据库进行操作。这里,在我的这个账号里边应该会有JDBC的连接,大家可以下载,不过这个需要钱,当然,小编也给大家提供了白嫖的方法:关注:旺哥学习便利店,回复“MySQL数据库5.0版本”,你就会白嫖成功了。
2. 驱动导包 你想要在java里边,使用MySQL数据库,你就必须先导入对应数据库的jar包,这里小编以MySQL5.5版本为例。
首先,我们需要创建一个文件夹,按照下图即可
文章图片
其次,就是我们需要把我们导入的jar包,加入到我们的项目中
文章图片
这样,我们就完成了,开始的第一步。
3. 注意事项 为什么,这里特别的把这个注意事项拿出来呢,因为我把加到第二部分末尾,大家可能不太能注意到,但是这个有很重要,它关乎到你,能不能成功完成第一步,下边大家注意看了:
你导入的一定是jar,不是zip的压缩包。如果你导入的是zip的压缩包,你就找不到Add as library这个选项。
一定注意!一定注意!一定注意!
4. 代码实现 这里给大家一个,JDBC连接的一个工具类吧。是我对连接数据库连接做了一个工具类,以后直接调用方法就行。
public class JdbcUtils {
//可以把几个字符串定义成常量:用户名,密码,URL,驱动类
private static final String USER = "root";
private static final String PWD = "root";
private static final String URL = "jdbc:mysql://localhost:3306/db3";
private static final String DRIVER = "com.mysql.jdbc.Driver";
/**
* 驱动的注册
*/
static {
try {
Class.forName("DRIVER");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}/**
* 得到数据库的连接
* @return : 返回数据库的连接
* @throws SQLException : SQL的异常
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL,USER,PWD);
}/**
* 关闭所有打开的资源
* @param connection : 连接的对象
* @param statement : 执行SQL语句的对象
* @throws SQLException
*/
public static void close(Connection connection,Statement statement) throws SQLException {
try {
assert statement != null;
statement.close();
}catch (SQLException e) {
e.printStackTrace();
}try {
assert connection != null;
connection.close();
}catch (SQLException e) {
e.printStackTrace();
}
}public static void close(Connection connection,Statement statement,ResultSet resultSet) throws SQLException {
try {
assert statement != null;
statement.close();
}catch (SQLException e) {
e.printStackTrace();
}try {
assert resultSet != null;
resultSet.close();
}catch (SQLException e) {
e.printStackTrace();
}try {
assert connection != null;
connection.close();
}catch (SQLException e) {
e.printStackTrace();
}
}
}
5. 总结 这里给大家总结一个,这就是一个工具类的书写,并没有mian()函数的执行,因为,哪一个实例来讲,这篇文章就太反锁了。再总结一下代码中的问题吧。
- 我使用了static代码块,这是是类再加载的时候,这里边的代码就会被执行。建议使用这样的写法
- 使用了assent 断言,这里的意思是,入伙这个连接对象不为空,就可以执行下边的代码,如果为空,就报异常,到catch中。
- 这里有一个不足就是关闭有点繁琐,可以简化以下,就是把三个参数的释放,放在两个参数的方法体内,不过这样的化,resultSet就不能使用断言了,可以换做if语句实现。
- 上边说的三个参数的方法,放在两个参数的方法体内,被调用,这里,我们只需要把resultSet的参数传递为null就可以了,这也是为什么,我们需要把assert断言改为if语句的原因。
推荐阅读
- intellij-idea|MyBatis-Plus(四.Page分页查询)
- Java小案例|如何搭建Mybatis的开发基础环境
- java|lamda表达式是啥(是如何来的呢?如何快速理解lamda表达式)
- lambda|Lamda表达式详解
- CMU 15-445 数据库课程第三课文字版 - 存储1
- 达蒙数据库语法
- 达蒙数据库迁移
- spark|莎士比亚统计最高的词频数 java,spark,rdd
- MYSQL随笔十五 mysql库