1 JDBC

JDBC, Java Database Connecive, Java 数据库连接,是一组专门负责连接并操作数据库的标准,在整个JDBC 中实际上大量的提供的是接口。针对于各个不同的数据库生产商 ,只要想使用JAVA 进行数据库的开发,则对这些标准有所支持。

使用JDBC我们可以在java中使用统一的API来访问数据库,进行CURD操作,而不用去关系底层是oracle、DB2、SQLServer、还是MYSQL。
使用JDBC编程的基本步骤如下(以MySql为例):
前置条件:

  • 安装mysql

  • 在maven依赖中引入mysql驱动

  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.25</version>
    </dependency>

在进行JDBC 操作的时候可以按照以下的步骤完成:
1、加载数据库驱动程序,加载的时候需要将驱动程序配置到classpath之中

Class.forName("com.mysql.jdbc.Driver");

2、连接数据库,通过Connection 接口和 DriverManager 类完成

String url = "jdbc:mysql://localhost:3306/web_application?useSSL=false&useUnicode=true&characterEncoding=UTF-8";
Connection connection = DriverManager.getConnection(url,"root","password");

3、操作数据库,通过Statement、PreparedStatement、ResultSet 三个接口完成

			Statement statement = connection.createStatement();
            String createUsersSql = "create table " + User.$.tableName + "("
                    + User.$.id + " int(32) primary key not null auto_increment,"
                    + User.$.userName + " varchar(32) not null,"
                    + User.$.password + " varchar(16) not null,"
                    + User.$.nickname + " varchar(32) not null,"
                    + User.$.sex + " varchar (16),"
                    + User.$.hobby + " varchar(32),"
                    + User.$.iconPath + " text"
                    + ");";
            statement.execute(createUsersSql);

一般来说,我们使用JDBC api时,使用的也就是原生的SQL语句,主要通过Statement、PreparedStatement、ResultSet等接口,一般为了防止SQL注入,使用PreparedStatement较多。

4、关闭数据库,在实际开发中数据库资源非常有限,操作完之后必须关闭

			if (statement != null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();

在使用完毕后,需要关闭连接,Statement 等,一般是先关闭ResultSet ,再关闭Statement ,再关闭连接

2 引入HikariCP连接池

数据库连接是一种非常重要的资源,一般来说使用完毕之后需要释放,下次使用时又要重新申请,同时系统中如果;连接过多的话会影响数据库性能,因此在实际的开发中我们一般使用数据库连接池框架,下面就以HikariCP为例介绍一下简单的使用。

1 引入maven依赖

<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP -->
<dependency>
  <groupId>com.zaxxer</groupId>
  <artifactId>HikariCP</artifactId>
  <version>2.5.1</version>
</dependency>

2 编写配置文件
resources编写hikari.properties配置文件

jdbcUrl=jdbc:mysql://localhost:3306/web_application?useSSL=false&useUnicode=true&characterEncoding=UTF-8
driverClassName=com.mysql.jdbc.Driver
dataSource.user=root
dataSource.password=510726
dataSource.databaseName=web_application
dataSource.serverName=localhost
dataSource.maximumPoolSize=10

3 初始化获取HikariDataSource及获取连接

		// 如何获得属性文件的输入流?
        // 通常情况下使用类的加载器的方式进行获取:
        try (InputStream is = DBManager.class.getClassLoader().getResourceAsStream("hikari.properties")) {
            // 加载属性文件并解析:
            Properties props = new Properties();
            props.load(is);
            HikariConfig config = new HikariConfig(props);
            sHikariDataSource = new HikariDataSource(config);
        } catch (IOException e) {
            e.printStackTrace();

拿到HikariDataSource就可以通过其getConnection()获取连接了。

1 JDBCJDBC, Java Database Connecive, Java 数据库连接,是一组专门负责连接并操作数据库的标准,在整个JDBC 中实际上大量的提供的是接口。针对于各个不同的数据库生产商 ,只要想使用JAVA 进行数据库的开发,则对这些标准有所支持。使用JDBC我们可以在java中使用统一的API来访问数据库,进行CURD操作,而不用去关系底层是oracle、DB2、SQL...
近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用。   基于B/S(Browser/Server)架构的3层开发模式逐渐取代C/S(Client/Server)架构的开发模式,成为开发企业级应用和电子商务普遍采用的技术。在Web应用开发的早期,主要使用的技术是CGI?ASP?PHP等。之后,Sun公司推出了基于Java语言的Servlet+Jsp+JavaBean技术。相比传统的开发技术,它具有跨平台?安全?有效?可移植等特性,这使其更便于使用和开发。 Java应用程序访问数据库的基本原理
文章目录1 JDBC1.1 使用JDBC基本步骤1.2 JDBC工具类构建1.3 数据库的CRUD1.4 Dao模式1.5 Statement安全问题1.6 PrepareStatement2 数据库连接池2.1 自定义数据库连接池2.2 解决自定义数据库连接池出现的问题。2.3 如何扩展某一个方法?3 开源连接池3.1 DBCP3.2 C3P03.3 DBUtils3.3.1 增删改3.3.2 查询3.3.3 ResultSetHandler 常用的实现类 1 JDBC JAVA Database Connectivity java 数据库连接 为什么会出现JDBC? SUN公司提供的一
<!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariC
数据库连接复用:重复使用现有的数据库长连接,可以避免连接频繁建立、关闭的开销。 统一的连接管理:释放空闲时间超过最大空闲时间的数据库连接,避免因为没有释放数据库连接而引起的数据库连接泄漏。 什么是HikariCP HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 其作者还有产出了另外一个开源作品HikariJSON——高性能的JSON解析器
1. 什么是HikariCP连接池 Fast, simple, reliable. HikariCP is a “zero-overhead” production ready JDBC connection pool. At roughly 130Kb, the library is very light。 2. 为什么HikariCP连接池值得使用和研究 1)使用广泛 在上亿个站点中使用,每天服务的请求多达10亿;最重要的是它现在是spring boot的默认连接池。 2)一个印度阿三引起的口水战 HikariCP是由日本程序员开源的一个数据库连接池组件,代码非常轻量,并且速度非常的快。根据官方提供的数据,在i7,开启32个线程32个连接的情况下,进行随机数据库读写操作,HikariCP的速度是现在常用的C3P0数据库连接池的数百倍。在SpringBoot2.0中,官方也是推荐使用HikariCPHikariCP之所以快是因为: 字节码更加精简,所以可以加载更多代码到缓存。 实现...
public class MySQLConnection { public static void main(String[] args) { Connection conn = null; try { // 加载MySQL JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 创建连接 String url = "jdbc:mysql://localhost:3306/test"; String user = "root"; String password = "123456"; conn = DriverManager.getConnection(url, user, password); // 连接成功 System.out.println("连接成功!"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭连接 if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); 在上面的代码中,我们首先加载MySQL JDBC驱动程序,然后创建一个连接对象,指定连接的URL、用户名和密码。最后,我们在finally块中关闭连接对象。 希望这个简单的示例可以帮助你开始使用JDBC连接MySQL数据库。