目录结构:
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包下载链接