JDBC连接数据库演示
今天重新学习了JDBC连接数据库,使用的数据库是Oracle,在运行前已经手动建立了一张t_user表,建表信息如下:
create table t_user(
card_id number(19) primary key,
password varchar2(6),
balance number(20,3),
phone varchar2(12)
);
考虑到手机号不会参加数值运算,所以将其类型设定为varchar
Java方面主要为了将来在实际开发中可能会用到,所以尽可能写的比较完善,用户登录部分和后台插入部分基本已经写好
方法写得比较集中,实际开发中可能会把获取用户输入值的部分单独写在主方法里
查询方法和插入方法也会做成带布尔类型返回值的方法
import java.util.*;
import java.sql.*; public class User {
public static void main(String[] args) throws Exception {
// login();
add();
} public static void login() throws Exception{ //0.获取用户输入值
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println("Please enter card id: ");
String c = input.next();
System.out.println("Please enter password: ");
String p = input.next(); String pass = new String(); //1.加载驱动
Class.forName("oracle.jdbc.OracleDriver"); //2.获得数据库连接
String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
String user = "hr";
String password = "hr";
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn); //3.准备SQL语句
String insertSQL = "select * from t_accounts "
+ "where card_id = " + c;
System.out.println(insertSQL); //4.发送SQL语句
Statement stm = conn.createStatement();//获得发送SQL的对象
ResultSet rs = stm.executeQuery(insertSQL);//发送查询SQL //5.处理ResultSet结果集
while(rs.next()){
//循环的指向所有行数据
String passw = rs.getString("password");
pass = passw;
} //6.释放资源
rs.close();
stm.close();
conn.close(); System.out.println(pass); //7.判断用户输入值是否正确并作输出
if(Integer.parseInt(pass) == Integer.parseInt(p))
System.out.println("Login success");
else
System.out.println("Login fail, please try again");
} public static void add() throws Exception{ //0.获取用户输入值
@SuppressWarnings("resource")
Scanner input = new Scanner(System.in);
System.out.println("Please enter card id: ");
String c = input.next();
System.out.println("Please enter password: ");
String p = input.next();
System.out.println("Please enter balance: ");
double b = input.nextDouble();
System.out.println("Please enter phone: ");
String ph = input.next(); //1.加载驱动
Class.forName("oracle.jdbc.OracleDriver");
//2.获得数据库连接
String url = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
String user = "hr";
String password = "hr";
Connection conn = DriverManager.getConnection(url,user,password);
System.out.println(conn);
//3.准备SQL语句
String insertSQL = "insert into t_accounts(card_id, password, balance, phoe) values("+c+", '"+p+"', "+b+", '"+ph+"')";
//4.发送SQL语句
Statement stm = conn.createStatement();//获得发送SQL的对象
int i = stm.executeUpdate(insertSQL);//发送SQl(发送增删改)
System.out.println(i); //5.释放资源
stm.close();
conn.close(); //6.判断修改是否成功
if(i != 0)
System.out.println("Add success");
else
System.out.println("Add fail");
}
}
控制台输出:
Please enter card id:
100003
Please enter password:
123456
Please enter balance:
100000
Please enter phone:
13007516785
oracle.jdbc.driver.T4CConnection@6438a396
1
Add success
JDBC连接数据库演示的更多相关文章
- JDBC连接数据库演示案例
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
- JDBC连接数据库(PreparedStatement)
PreparedStatement是在数据库端防止SQL注入漏洞的SQL方法这里演示了一些基本使用方法同样使用Oracle数据库,之前已经手动建立了一张t_account表数据库代码参见上一篇< ...
- Java中JDBC连接数据库代码和步骤详解总结
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Jav ...
- JDBC连接数据库概述
直接介绍JDBC连接数据库的流程及其原理 创建一个以JDBC连接数据库的程序,包含7个步骤 1.加载JDBC数据库驱动 在连接数据库之前,首先要加载想要连接的数据库的驱动,就是数据库厂商提供的jar包 ...
- JDBC连接数据库经验技巧(转)
Java数据库连接(JDBC)由一组用 Java 编程语言编写的类和接口组成.JDBC 为工具/数据库开发人员提供了一个标准的 API,使他们能够用纯Java API 来编写数据库应用程序.然而各个开 ...
- Eclipse通过jdbc连接数据库制作简单登陆界面
一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...
- 🈲Eclipse通过jdbc连接数据库制作简单登陆界面【新手必看】
一.前言: 做网站开发,要求有多种搭配方式,前台技术可以使用PHP.ASP.JSP.ASP.NET.CGI等任何一种: 需要用到的基础语言用的最多的就是HTML/CSS.JS.JAVA.XML这些了, ...
- 转 JDBC连接数据库(二)——连接池
https://www.cnblogs.com/xiaotiaosi/p/6398371.html 数据库保持长连接,不过一直都是idle,除非有用户激活连接,这样后果是无法删除用户,但是不影响数据库 ...
- 【Mybatis源码解析】- JDBC连接数据库的原理和操作
JDBC连接数据库的原理和操作 JDBC即Java DataBase Connectivity,java数据库连接:JDBC 提供的API可以让JAVA通过API方式访问关系型数据库,执行SQL语句, ...
随机推荐
- 关于opacity的兼容问题
各个浏览器的解决办法: css: .opacity{ filter:alpha(opacity=50); /* IE */ -moz-opacity:0.5; /* 老版Mozilla */ -kht ...
- error MSB6006: “CL.exe”已退出,代码为X —— 的解决办法
错误 : error MSB6006: “CL.exe”已退出,代码为X . 解决方法: 1.有少可能是执行目录引起的. 参考 http://bbs.csdn.net/topics/370064083 ...
- spring IOC装配Bean(注解方式)
1 Spring的注解装配Bean (1) Spring2.5 引入使用注解去定义Bean @Component 描述Spring框架中Bean (2) Spring的框架中提供了与@Componen ...
- 为bootstrap添加更多自定义图标
From: http://blog.csdn.net/mengxiangfeiyang/article/details/45224731 Twitter Bootstrap 真是前端开发的瑞士军刀,作 ...
- 修改Oracle监听端口
修改oracle监听端口 修改端口号的整体步骤:1.1 查看当前监听的状态1.2 停止监听1.3 修改监听文件的端口号1.4 修改初始化参数local_listener1.5 重启 ...
- Android按钮的各个样式设置
安卓开发学习之014 Button应用详解(样式.背景.按钮单击.长按.双击.多击事件) 一.Button简介 按钮也是继承自TextView 二.XML定义方法 <Button android ...
- HDU 1257
分析: 依次保存现在每个拦截系统能拦截的最高的高度,接下来输入的每一个高度,依次和这若干个拦截系统现在所能拦截的最高高度比较,若某次该输入的高度小于某个拦截系统的最高高度,就替代这个拦截系统的最高高度 ...
- windows平台下安装、编译、使用mongodb C++ driver
本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...
- C++引用的作用和用法
引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样. 引用的声明方法:类型标识符&引用名=目标变量名: 例如: int q; int &ra=a; 说明: &am ...
- LeetCode Restore IP Addresses
DFS class Solution { public: vector<string> restoreIpAddresses(string s) { return insertDot(s, ...