对Druid连接池,JDBC,SpringTemplate,抽取JDBC及Druid工具的回忆练习

目录结构:
在这里插入图片描述
Durid_p.java
这是Druid连接池基本操作的回忆练习

package com.Caiden.Durid_T;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

public class Durid_P {
    public static void main(String[] args) throws Exception {
        /*//注册连接
        Class.forName("com.mysql.jdbc.Driver");*/
        //创建数据库连接池
        Properties properties = new Properties();
        InputStream resourceAsStream = Durid_P.class.getClassLoader().getResourceAsStream("druid.properties");
        properties.load(resourceAsStream);
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        Connection connection = dataSource.getConnection();
//        System.out.println(connection);
    }
}

JDBC_Spring_Templates.java
这是对于SpringTemplate的练习

package com.Caiden.jdbc;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.Properties;

public class JDBC_Spring_Templates {
    public static void main(String[] args) throws Exception {
        //获取DataSource
        Properties properties = new Properties();
        InputStream resourceAsStream = JDBC_Spring_Templates.class.getClassLoader().getResourceAsStream("druid.properties");
        properties.load(resourceAsStream);
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);

        //创建Templates
        JdbcTemplate template = new JdbcTemplate(dataSource);

        /*String sql = "select * from stu where id=1";*/
        String sql = "select * from stu";
        //数据处理
        /*queryForMap 的查询结果只能有一条数据*/
        /*Map<String, Object> stringObjectMap = template.queryForMap(sql);*/
        List<Map<String, Object>> maps = template.queryForList(sql);
        System.out.println(maps);
    }
}

JDBC_Tes01.java
这是对于JDBC基本操作的回忆

package com.Caiden.jdbc;

import java.sql.*;

public class JDBC_Tes01 {
    public static void main(String[] args) throws Exception {
        //注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        //与数据库建立连接
        Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/java02", "root", "123");
        //获取连接对象
        /*Statement statement = connection.createStatement();*/
        String sql = "select * from stu where id=? or id=?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);
        //创建sql语句
        /*String sql = "UPDATE stu SET NAME='李斯' WHERE id='1'";*/
        /*String sql = "select * from stu";*/
        preparedStatement.setString(1,"2");
        preparedStatement.setString(2,"3");
        //执行sql
        /*int i = statement.executeUpdate(sql);*/
        /*ResultSet resultSet = statement.executeQuery(sql);*/
        ResultSet resultSet = preparedStatement.executeQuery();
        /*System.out.println(i);*/
        while (resultSet.next()) {
            //如果resultSet.next()结果为false,则数据查询到最后一行
            int id = resultSet.getInt(1);
            String name = resultSet.getString(2);
            int age = resultSet.getInt(3);
            Date birth = resultSet.getDate(4);
            System.out.println("id:" + id + " name:" + name + " age:" + age + " birth:" + birth);
        }
        connection.close();
        preparedStatement.close();
    }
}

JDBC_Test_Util.java
对抽取的工具类的测试代码

package com.Caiden.jdbc;

import com.Caiden.Tools.Utile;

import java.sql.*;

public class JDBC_Test_Util {
    public static void main(String[] args) throws SQLException {
        PreparedStatement preparedStatement = null;
        try {
            //连接数据库,获取数据库连接
            Connection connect = Utile.getConnect();
            //获取对象
            String sql = "select * from stu where id=?";
            preparedStatement = connect.prepareStatement(sql);
            preparedStatement.setString(1,"1");
            ResultSet resultSet = preparedStatement.executeQuery();
            while (resultSet.next()) {
                int id = resultSet.getInt(1);
                String name = resultSet.getString(2);
                int age = resultSet.getInt(3);
                Date birth = resultSet.getDate(4);
                System.out.println("id:" + id + " name:" + name + " age:" + age + " birth:" + birth);
            }
        }finally {
            System.out.println("关闭资源,,,,,,,,,,");
            Utile.close(preparedStatement);
        }
    }
}

Utile.java
工具类的代码

package com.Caiden.Tools;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Properties;

public class Utile {
    static String url = null, user = null, pwd = null;
    static Connection conn = null;
    static Properties properties = null;

    //静态代码块初始化资源(url user pwd)
    static {
        /*Properties properties = new Properties();
        InputStream resourceAsStream = Utile.class.getClassLoader().getResourceAsStream("jdbc.properties");
        try {
            properties.load(resourceAsStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
        url = properties.getProperty("url");
        user = properties.getProperty("user");
        pwd = properties.getProperty("pwd");*/
        properties = new Properties();
        InputStream resourceAsStream = Utile.class.getClassLoader().getResourceAsStream("druid.properties");
        try {
            properties.load(resourceAsStream);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

    //获取数据库连接
    public static Connection getConnect() {
        /*try {
            conn = DriverManager.getConnection(url, user, pwd);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;*/
        try {
            DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
            conn = dataSource.getConnection();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }

    //关闭对象
    public static void close(PreparedStatement statement) {
        if (conn != null) {
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (statement != null) {
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

druid.properties

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/java02
username=root
password=123
initialSize=5
maxActive=10
maxWait=3000

jdbc.properties

url=jdbc:mysql://localhost:3306/java02
user=root
pwd=123

练习方便起见,资源已上传:
jar包下载链接

发布了36 篇原创文章 · 获赞 75 · 访问量 5433

猜你喜欢

转载自blog.csdn.net/weixin_44449518/article/details/103990074