//原生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工具

 /*
* Apache提供的数据库连接池 dbcp
* javax.sql.DataSource接口,是所有连接池的标准规范
* 接口中的方法 Connection getConnection()
*
* org.apache.connons.dbcp.BasicDataSource类,实现接口DataSource
* 设置数据库连接的四大信息
* 驱动类,url,username,password
* BasicDataSource类方法 setXXX设置
*/
public class DBCPUtils {
//成员位置,创建接口实现类对象
private static BasicDataSource dataSource = new BasicDataSource();
static{
//设置数据库连接四大信息
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/***");
dataSource.setUsername("****");
dataSource.setPassword("****");
} public static Connection getConnection () throws SQLException{ //调用接口实现类对象BasicDataSource方法,返回连接
return dataSource.getConnection();
}
}

//C3p0工具

 /*
* 连接池工具类 c3p0
* 找到接口DataSource实现类对象
* com.mchange.v2.c3p0.ComboPooledDataSource类实现接口
*/
public class C3P0Utils {
//成员位置,创建DataSource接口实现类对象--读取配置文件
private static ComboPooledDataSource dataSource = new ComboPooledDataSource();
/*static{
try{
//设置数据库连接四大信息
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/****");
dataSource.setUser("****");
dataSource.setPassword("****");
}catch(Exception ex){}
}*/ public static DataSource getDataSource(){
return dataSource;
} /*
* 提供方法,返回数据库连接对象
*/
public static Connection getConnection() throws SQLException{
return dataSource.getConnection();
} /*
* 定义静态方式,实现释放资源
*/
public static void close(ResultSet rs,Statement stat,Connection con){
if(rs!=null)
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} if(stat!=null)
try{
stat.close();
}catch(Exception ex){} if(con!=null)
try{
con.close();
}catch(Exception ex){}
}
}

//C3p0-config.xml内容

 <?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="user">root</property>
<property name="password">root</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///***</property>
</default-config>
</c3p0-config>

JDBC相关的更多相关文章

  1. JDBC相关总结

    JDBC statement的相关总结 1.Statement.PreparedStatement和CallableStatement都是接口(interface). 2.Statement继承自Wr ...

  2. spring学习二:jdbc相关回顾以及spring下dao

    目录: Part一:回顾java web部分的jdbc.事务.连接池和dbutils工具等 : Part二:spring的JdbcTemplate使用: Part三:spring的事务处理: Part ...

  3. JDBC相关的类介绍

    JDBC 背景:1996年,Sun公司推出了Java数据库连接(Java Database Connectivity JDBC)工具包的第一个版本.该工具包使得程序员可以使用结构化语言SQL连接到一个 ...

  4. JDBC相关知识

    一.连接数据库 1. 步骤 //1.创建一个Driver实现类的对象 Driver driver = new com.mysql.jdbc.Driver();//注意抛异常 //2.准备 url 和 ...

  5. 02 JDBC相关

    ====================================================================================JDBC JAVA Databa ...

  6. 2019.3.28 JDBC相关

    JDBC(Java Data Base Connectivity) JDBC是一组用Java编写的类和接口 使用JDBC的好处: 1.Java的开发人员完全不需要关心数据库的连接方式和实现手段 2.提 ...

  7. MyBatis、JDBC相关知识

    引言 在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹.但是,为什么还要要学习mybatis的工作原理?因为,随着mybatis框架的不断发展,如今已经越来越趋于自动化,从代 ...

  8. JDBC相关配置和操作

    获取数据库连接的几种方式 ps.数据库URL : String url = "jdbc:mysql://localhost:3306/dailytext?useSSL=false&s ...

  9. Java JDBC基础学习小结

    JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作.JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver.Connection.Statement.Re ...

随机推荐

  1. python爬取英语学习资料并发送邮件

    新建发送邮件类 import smtplib from email.mime.text import MIMEText from email.header import Header class Se ...

  2. C#学习笔记8

    1.泛型的约束: (1)接口约束: (2)基类约束,基类约束必须放在第一(假如有多个约束): (3)struct/class约束: (4)多个参数类型的约束,每个类型参数都要用where关键字: (5 ...

  3. js 正则表达式简易教程

    (http://www.cnblogs.com/tugenhua0707/p/5037811.html#_labe6)

  4. 05_Jedis操作Redis

    [工程截图] [String类型操作] package com.higgin.string; import java.util.List; import redis.clients.jedis.Jed ...

  5. 03_Redis数据类型(List)

    [List类型] Redis采用的是LinkedList. ArrayList: 数组存储.查询快,增删慢. LinkedList:链表存储.增删快,查询慢,查询两端快. Redis的list内部采用 ...

  6. 【Linux】chmod命令

    格式chmod 权限 要修改权限的文件linux中的权限如下: -rw------- (600) -- 只有属主有读写权限. -rw-r--r-- (644) -- 只有属主有读写权限:而属组用户和其 ...

  7. BIEE入门(四)展现层

    BIEE里最终面向最终用户(业务界面使用者的)叫做BIEE的Presentation Layer也即展现层,展现层的定义将是最终用户Web报表开发界面里能够看见的完全一样的样子,所以展现层一般将是以最 ...

  8. django搭建简单开发项目流程(一)

    1 搭建环境 sudo apt-get install python3-pip 安装pip3 sudo pip3 install virtualenv 安装虚拟环境 virtualenv -p pyt ...

  9. php 获取毫秒时间戳

    function getMsec(){//返回毫秒时间戳 $arr = explode(' ',microtime()); $hm = 0; foreach($arr as $v){ $hm += f ...

  10. 【Spring实战】—— 7 复杂集合类型的注入

    之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List.Set.Map等. 对于程序员来说,掌握多种语言是基本的技能. 我们这里做了一个小例子,程序员们 ...