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工具
/*
* 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相关的更多相关文章
- JDBC相关总结
JDBC statement的相关总结 1.Statement.PreparedStatement和CallableStatement都是接口(interface). 2.Statement继承自Wr ...
- spring学习二:jdbc相关回顾以及spring下dao
目录: Part一:回顾java web部分的jdbc.事务.连接池和dbutils工具等 : Part二:spring的JdbcTemplate使用: Part三:spring的事务处理: Part ...
- JDBC相关的类介绍
JDBC 背景:1996年,Sun公司推出了Java数据库连接(Java Database Connectivity JDBC)工具包的第一个版本.该工具包使得程序员可以使用结构化语言SQL连接到一个 ...
- JDBC相关知识
一.连接数据库 1. 步骤 //1.创建一个Driver实现类的对象 Driver driver = new com.mysql.jdbc.Driver();//注意抛异常 //2.准备 url 和 ...
- 02 JDBC相关
====================================================================================JDBC JAVA Databa ...
- 2019.3.28 JDBC相关
JDBC(Java Data Base Connectivity) JDBC是一组用Java编写的类和接口 使用JDBC的好处: 1.Java的开发人员完全不需要关心数据库的连接方式和实现手段 2.提 ...
- MyBatis、JDBC相关知识
引言 在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹.但是,为什么还要要学习mybatis的工作原理?因为,随着mybatis框架的不断发展,如今已经越来越趋于自动化,从代 ...
- JDBC相关配置和操作
获取数据库连接的几种方式 ps.数据库URL : String url = "jdbc:mysql://localhost:3306/dailytext?useSSL=false&s ...
- Java JDBC基础学习小结
JDBC是一个Java应用程序接口,作用是封装了对数据库的各种操作.JDBC由类和接口组成,使用Java开发数据库应用都需要4个主要的接口:Driver.Connection.Statement.Re ...
随机推荐
- mysql七:索引原理与慢查询优化(待完整)
一.介绍 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要. 索引优化应该是对查询性能优 ...
- Required Integer parameter 'XXX' is not present
1.异常提示: DEBUG o.s.w.s.m.m.a.ServletInvocableHandlerMethod - Error resolving argument [2] [type=java. ...
- git如何进行远程分支切换
git如何进行远程分支切换 git上查看远程分支命令: git branch -a 例如: 然后我想切换到daily/1.0.0远程分支:前提是必须要创建一个本地分支,并让它和远程分支进行关联,gi ...
- Java—IO流 文件的编码
文件的编码 package cn.test; import java.io.UnsupportedEncodingException; public class Demo15 { public sta ...
- 【Leetcode】【Easy】Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once. For examp ...
- WIN7系统程序放在中文文件夹打开报错及界面汉字变乱码
今天发现在一个服务商提供的设备的WIN7系统里,一个稳定运行的程序打开时报错,且界面汉字变乱码. 经测试发现程序放在英文名称的文件夹中可以正常打开,但界面上的汉字仍为乱码. 后检查“控制面板“--”区 ...
- LAMP环境基本配置
CentOS 7.0 LAMP环境搭建 Apache: 安装: yum -y install httpd 设为开机启动: systemctl start httpd.service systemctl ...
- Android 位置服务
原文来自:http://developer.android.com/guide/topics/location/strategies.html 位置策略 注意: 本指南仅限android.locati ...
- 使用jvisualvm.exe工具查看java项目内存溢出(堆溢出)
在查看内存溢出的时候,我们需要明白,堆溢出和持久代溢出,他们不一样,说到内存泄漏,我们就需要明白,内存中 年老代和新生代,和持久代,这3块的数据 自己的理解: new了一个对象,会进入到堆里面,先放 ...
- python:进程操作
一.多进程应用 import socket from multiprocessing import Process def talk(conn): conn.send(b'connected') re ...