JDBC相关
//原生jdbc操作案例
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.Scanner; /* * Java实现一个登录功能 * 可以在控制台输入用户名和密码 * 查询数据表,查询到数据,登录成功,否则登录失败 */ public class JDBCDemo { public static void main(String[] args) throws Exception{ Scanner sc = new Scanner(System.in); //注册驱动 Class.forName("com.mysql.jdbc.Driver"); //获取数据库连接 Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/***", "***", "***"); //获取SQL语句执行对象 Statement stat = con.createStatement(); //键盘输入 String user = sc.nextLine(); String pass = sc.nextLine(); //登录查询的SQL String sql = "SELECT * FROM users WHERE username='"+user+"' AND PASSWORD='"+pass+"'"; System.out.println(sql); //执行查询语句,返回结果集对象 ResultSet rs = stat.executeQuery(sql); //判断是否有结果集 while(rs.next()){ System.out.println(rs.getString("username")+" "+rs.getString("password")); } rs.close(); stat.close(); con.close(); } }
//封装后的DBUtil工具
1 /* 2 * Apache提供的数据库连接池 dbcp 3 * javax.sql.DataSource接口,是所有连接池的标准规范 4 * 接口中的方法 Connection getConnection() 5 * 6 * org.apache.connons.dbcp.BasicDataSource类,实现接口DataSource 7 * 设置数据库连接的四大信息 8 * 驱动类,url,username,password 9 * BasicDataSource类方法 setXXX设置 10 */ 11 public class DBCPUtils { 12 //成员位置,创建接口实现类对象 13 private static BasicDataSource dataSource = new BasicDataSource(); 14 static{ 15 //设置数据库连接四大信息 16 dataSource.setDriverClassName("com.mysql.jdbc.Driver"); 17 dataSource.setUrl("jdbc:mysql://localhost:3306/***"); 18 dataSource.setUsername("****"); 19 dataSource.setPassword("****"); 20 } 21 22 public static Connection getConnection () throws SQLException{ 23 24 //调用接口实现类对象BasicDataSource方法,返回连接 25 return dataSource.getConnection(); 26 } 27 }
//C3p0工具
1 /* 2 * 连接池工具类 c3p0 3 * 找到接口DataSource实现类对象 4 * com.mchange.v2.c3p0.ComboPooledDataSource类实现接口 5 */ 6 public class C3P0Utils { 7 //成员位置,创建DataSource接口实现类对象--读取配置文件 8 private static ComboPooledDataSource dataSource = new ComboPooledDataSource(); 9 /*static{ 10 try{ 11 //设置数据库连接四大信息 12 dataSource.setDriverClass("com.mysql.jdbc.Driver"); 13 dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/****"); 14 dataSource.setUser("****"); 15 dataSource.setPassword("****"); 16 }catch(Exception ex){} 17 }*/ 18 19 public static DataSource getDataSource(){ 20 return dataSource; 21 } 22 23 /* 24 * 提供方法,返回数据库连接对象 25 */ 26 public static Connection getConnection() throws SQLException{ 27 return dataSource.getConnection(); 28 } 29 30 31 /* 32 * 定义静态方式,实现释放资源 33 */ 34 public static void close(ResultSet rs,Statement stat,Connection con){ 35 if(rs!=null) 36 try { 37 rs.close(); 38 } catch (SQLException e) { 39 e.printStackTrace(); 40 } 41 42 if(stat!=null) 43 try{ 44 stat.close(); 45 }catch(Exception ex){} 46 47 if(con!=null) 48 try{ 49 con.close(); 50 }catch(Exception ex){} 51 } 52 }
//C3p0-config.xml内容
1 <?xml version="1.0" encoding="UTF-8"?> 2 <c3p0-config> 3 <default-config> 4 <property name="user">root</property> 5 <property name="password">root</property> 6 <property name="driverClass">com.mysql.jdbc.Driver</property> 7 <property name="jdbcUrl">jdbc:mysql:///***</property> 8 </default-config> 9 </c3p0-config>