JdbcUtils

项目结构

JdbcUtils-LMLPHP
 
db.properties
driverClass=com.mysql.jdbc.Driver
url=jdbc:mysql:///myTest
username=root
password=root
JdbcUtils
package com.pers.jdbc.utils;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties; /**
* @author liangyadong
* @date 2016年10月13日 下午3:23:22
* @version 1.0
*/
public class JdbcUtils { public static final String DRIVERCLASS;
public static final String URL;
public static final String USERNAME;
public static final String PASSWORD; /**
* 静态代码块
*
* 步骤
* 1.创建properties对象
* 2.获取db配置文件的输入流
* 3.properties对象加载配置文件
* 4.properties对象通过key获取值
*/
static{
// 读取配置文件,将值赋给常量
// 创建properties对象
Properties pro = new Properties(); // 获取db.properties文件的输入流
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("com/pers/jdbc/utils/db.properties"); // 加载配置文件
try {
pro.load(in);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // 通过key获取值
DRIVERCLASS = pro.getProperty("driverClass");
URL = pro.getProperty("url");
USERNAME = pro.getProperty("username");
PASSWORD = pro.getProperty("password"); } /**
* 加载驱动
*/
public static void loadDriver(){
try {
Class.forName(DRIVERCLASS);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} /**
* 获取连接
* @return
*/
public static Connection getConnection() {
// TODO Auto-generated method stub
// 加载驱动
loadDriver();
try {
// 获取连接
return DriverManager.getConnection(URL,USERNAME,PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} return null;
} /**
* 释放资源
*
* 查询的释放资源方法
* @param conn
* @param sta
* @param rs
*/
public static void release(Connection conn,Statement sta,ResultSet rs){
if (rs!=null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
rs = null;
}
if (sta!=null) {
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sta = null;
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null;
}
} /**
* 释放资源
*
* 增删改的释放资源方法
* @param conn
* @param sta
*/
public static void release(Connection conn,Statement sta){
if (sta!=null) {
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sta = null;
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn = null;
}
} }

JdbcTest

package com.pers.jdbc.demo;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; import org.junit.Test; import com.pers.jdbc.utils.JdbcUtils; /**
* @author liangyadong
* @date 2016年10月13日 上午11:01:22
* @version 1.0
*/
public class JdbcTest2 { /**
* 测试添加数据
*/
@Test
public void InsertTest(){
/**
* 步骤
* 1.加载驱动
* 2.获取连接
* 3.编写sql
* 4.获取执行sql的对象
* 5.执行sql
* 6.释放资源
*/
Connection conn = null;
Statement sta = null; try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver"); // 获取连接
conn = DriverManager.getConnection("jdbc:mysql:///myTest","root","root"); // 编写插入sql
String sql = "insert into t_user values (null,'ddd','123','[email protected]')"; // 获取执行sql的对象
sta = conn.createStatement(); // 执行sql
/*boolean b = sta.execute(sql);
if (b=true) {
System.out.println("添加数据成功!");
}*/
// 或
int i = sta.executeUpdate(sql);
if (i>0) {
System.out.println("添加数据成功!");
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
/**
* 释放资源
*/
if (sta!=null) {
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sta=null;
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn=null;
}
}
} /**
* 修改第四条数据名称为eee
*/
@Test
public void UpdateTest(){
/**
* 步骤
* 1.加载驱动
* 2.获取连接
* 3.编写修改数据的sql
* 4.创建执行sql的对象
* 5.执行sql
* 6.释放资源
*/ Connection conn = null;
Statement sta = null; try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver"); // 获取连接
conn = DriverManager.getConnection("jdbc:mysql:///myTest","root","root"); // 编写修改数据的sql
String sql = "update t_user set username='eee' where id = '4'"; // 创建执行sql的对象
sta = conn.createStatement(); // 执行sql
int i = sta.executeUpdate(sql);
if (i>0) {
System.out.println("修改数据成功!");
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
/**
* 释放资源
*/
if (sta!=null) {
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sta=null;
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn=null;
}
} } /**
* 删除数据测试
* 删除第四条数据
*/
@Test
public void DeleteTest(){
/**
* 步骤
* 1.加载驱动
* 2.获取连接
* 3.编写sql
* 4.创建执行sql的对象
* 5.执行sql
* 6.释放资源
*/ Connection conn = null;
Statement sta = null; try {
// 加载驱动
Class.forName("com.mysql.jdbc.Driver"); // 获取连接
conn = DriverManager.getConnection("jdbc:mysql:///myTest","root","root"); // 编写sql
String sql = "delete from t_user where id = '4'"; // 创建执行sql的对象
sta = conn.createStatement(); // 执行sql
int i = sta.executeUpdate(sql);
if (i>0) {
System.out.println("删除数据成功!");
} } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
/**
* 释放资源
*/
if (sta!=null) {
try {
sta.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
sta = null;
}
if (conn!=null) {
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
conn=null;
}
}
} /**
* 测试查询数据
* 使用jdbc工具类
*/
@Test
public void query(){
/**
* 步骤
* 1.加载驱动
* 2.获取连接
* 3.编写sql
* 4.创建执行sql的对象
* 5.执行sql
* 6.遍历结果
* 7.释放资源
*/
Connection conn = null;
Statement sta = null;
ResultSet rs = null; try {
// 加载驱动获取连接
conn = JdbcUtils.getConnection(); // 编写sql
String sql = "select * from t_user"; // 创建执行sql的对象
sta = conn.createStatement(); // 执行sql
rs = sta.executeQuery(sql); // 遍历结果
while(rs.next()){
int id = rs.getInt("id");
String username = rs.getString("username");
String email = rs.getString("email"); System.out.println(id+"-"+username+"-"+email);
} } catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
JdbcUtils.release(conn, sta, rs);
}
} }

输入流路径: 包名/文件名

JdbcUtils-LMLPHP

*注意:相对路径开头是没有斜杠的

05-11 13:45