java JDBC 使用DBCP连接池
来源:互联网 发布:淘宝现金券 编辑:程序博客网 时间:2024/05/24 03:10
文件结构:
1.数据库创建 db.users
create database db character set utf8;use db;create table users(uid int(32) primary key auto_increment,uname varchar(32) not null,upassword varchar(32) not null);alter table users convert to character set utf8;
2.(可选)插入一些用户
INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('abc', 'uabc');INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('神奇的我', 'abc123');INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('隔壁老王', 'hahaha');INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('瑟瑟发抖', 'sesefadou');INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('abcdefg', 'zxcvbnm');INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('神奇的他', 'aaaa123');INSERT INTO `db`.`users` (`uname`, `upassword`) VALUES ('神奇的她', 'bbbbb123');
3.配置db.properties配置文件
driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306?characterEncoding=utf8username=rootpassword=123456
4.DBCPUtils.java
package DBCP;import org.apache.commons.dbcp.BasicDataSourceFactory;import javax.sql.DataSource;import java.io.InputStream;import java.sql.Connection;import java.sql.SQLException;import java.util.Properties;public class DBCPUtils { private static DataSource dataSource=null; static { try { //1.加载properties文件 InputStream is=DBCPUtils.class.getClassLoader().getResourceAsStream("db.properties"); //2.加载输入流 Properties properties=new Properties(); properties.load(is); //3.创建数据源 dataSource= BasicDataSourceFactory.createDataSource(properties); }catch (Exception e) { e.printStackTrace(); } } public static DataSource getDataSource() { return dataSource; } public static Connection getConnection() { try { return dataSource.getConnection(); } catch (SQLException e) { throw new RuntimeException(e); } }}
5.JDBCUtils.java
package jdbc;import java.sql.*;import java.util.ResourceBundle;public class JDBCUtils { private static String driver; private static String url; private static String username; private static String password; static{ ResourceBundle bundle= ResourceBundle.getBundle("db"); driver=bundle.getString("driver"); url=bundle.getString("url"); username=bundle.getString("username"); password=bundle.getString("password"); } public static Connection getConnection() { Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); conn= DriverManager.getConnection(url,username,password); } catch (Exception e) { e.printStackTrace(); } return conn; } public static void release(Connection conn, PreparedStatement pstmt, ResultSet rs) { if(conn!=null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if(pstmt!=null) { try { pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } } if(rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } }}
6.JDBCTool.java
package jdbc;import DBCP.DBCPUtils;import com.mchange.v2.c3p0.ComboPooledDataSource;import jdbc_u1.C3P0Utils;import jdbc_u1.MyDataSourse;import javax.sql.DataSource;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;public class JDBCTool { private static Connection conn=null; private static PreparedStatement pstmt=null; private static ResultSet rs=null; public static void testinsert(String uname,String upassword) { try { conn= DBCPUtils.getConnection(); String sql = "insert into db.users values(null,?,?)"; pstmt=conn.prepareStatement(sql); pstmt.setString(1,uname); pstmt.setString(2,upassword); int row=pstmt.executeUpdate(); if(row>0) { System.out.println("注册成功"); } else System.out.println("注册失败"); } catch (Exception e) { System.out.println("注册失败"); } finally { JDBCUtils.release(conn,pstmt,rs); } } public static void testSelect(String uname,String upassword) { try { conn= DBCPUtils.getConnection(); String sql="select * from db.users where uname=? and upassword=? "; pstmt=conn.prepareStatement(sql); pstmt.setString(1,uname); pstmt.setString(2,upassword); rs=pstmt.executeQuery(); if(rs.next()) { System.out.println("验证成功"); } else System.out.println("验证失败"); } catch (Exception e) { System.out.println("验证失败"); } finally { JDBCUtils.release(conn,pstmt,rs); } } public static void testUpdate(String oldname,String oldpassword,String newname,String newpassword) { try { conn= DBCPUtils.getConnection(); String sql = "update db.users set uname=?,upassword=? where uname=? and upassword=?"; pstmt=conn.prepareStatement(sql); pstmt.setString(1,newname); pstmt.setString(2,newpassword); pstmt.setString(3,oldname); pstmt.setString(4,oldpassword); int row=pstmt.executeUpdate(); if(row>0) { System.out.println("修改成功"); } else System.out.println("修改失败"); } catch (Exception e) { System.out.println("修改失败"); } finally { JDBCUtils.release(conn,pstmt,rs); } } public static void delete(String uname,String upassword) { try { conn= DBCPUtils.getConnection(); String sql = "delete from db.users where uname=? and upassword=?"; pstmt=conn.prepareStatement(sql); pstmt.setString(1,uname); pstmt.setString(2,upassword); int row=pstmt.executeUpdate(); if(row>0) { System.out.println("注销成功"); } else System.out.println("注销失败"); } catch (Exception e) { System.out.println("注销失败"); } finally { JDBCUtils.release(conn,pstmt,rs); } }}
7.Main.java
import jdbc.JDBCTool;public class Main { public static void main(String[] args){ JDBCTool.testSelect("abc","uabc"); JDBCTool.testinsert("abcd","uabcd"); JDBCTool.testSelect("abcd","uabcd"); }}
运行结果:
阅读全文
0 0
- java JDBC 使用DBCP连接池
- 使用DBCP配置JDBC连接池
- Java使用DBCP连接池
- JDBC中的连接池DBCP
- JDBC连接池 DBCP C3P0
- Java EE开发第六章:JDBC开发之DBCP连接池的使用
- JDBC (c3p0、dbcp、jndi及不使用连接池)
- JDBC之连接池DBCP与c3p0的简单使用
- JDBC dbutils以及c3p0 dbcp连接池的使用
- DBCP连接池使用
- 使用dbcp 连接池
- 使用DBCP连接池
- JAVA DBCP 连接池
- Java连接池 DBCP
- JDBC连接池(dbcp读取配置文件方式)
- JDBC连接池(dbcp读取配置文件方式)
- JDBC、事物、连接池、DBCP、C3P0、DBUtils
- JDBC连接池 —— DBCP
- springboot+thymeleaf+i18n
- Pandas秘籍【第六章】
- nodejs koa web搭建
- 封装继承多态
- C语言·数组知识小结
- java JDBC 使用DBCP连接池
- python django框架的模型的创建
- C++primer薄片系列之特殊工具与技术
- Uva 11572 Unique snowflakes
- Mac使用class-dump进行IOS逆向工程
- [uboot] (番外篇)global_data介绍
- sql与jdbc
- Eclipse '/RemoteSystemsTempFiles'错误
- 怎么将mysql数据导入到navicate for MYSQL