jdbc最基础的mysql操作
1.基本的数据库操作
这里连接数据库可以做成一个单独的utils类,我这里因为程序少就没有封装。
虽然现在jdbc被其他框架取代了,但这是框架的基础
如下:第一个是插入数据操作
package Databases; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class test0812 { public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
results();
}
public static void results() throws Exception {
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/my";
String user="root";
String pwt="";
Connection con=null; Class.forName(driver);
con=DriverManager.getConnection(url, user, pwt);
Statement sta=con.createStatement();
// String sql="select * from user";
// ResultSet re=sta.executeQuery(sql);
// while(re.next()) {
// String username=re.getString("username");
// String password=re.getString("password");
// System.out.println(username+password);
// }
// 这是插入自增的处理指明对应的值,不然会报错
// String sql="insert into user(username,password) values('admin','123456')";
String sql="insert into user values('6','admins','1212')";
int n=sta.executeUpdate(sql);
System.out.println(n);
sta.close();
con.close();
}
}
2.查询的操作:
这里也附带一个查询package Databases;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class TestMain { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
insert();
}
public static void selects() throws Exception{
//要使用数据库先要连接数据库(jdbk),1.注册数据库
Class.forName("com.mysql.jdbc.Driver");
//us是自己建立的数据库名
String url="jdbc:mysql://localhost:3306/us"; String username="root"; String password=""; //连接数据库Connection中有一个方法 Connection con=DriverManager.getConnection(url,username,password); /** * 建立执行数据语句的平台 * Statement */
Statement sta=con.createStatement();
/**
* 执行SQL查找
* executeQuery
*/
String sql="select * from us";
ResultSet rs=sta.executeQuery(sql);
/**
* ResultSet遍历用迭代器的
* 这里不需要直接用迭代器的,可以
* 直接用rs,next()实现
*/
while(rs.next()){
String user=rs.getString("username");
String pwd=rs.getString("password");
System.out.println(user+pwd);
}
sta.close();
con.close();
}
public static void insert()throws Exception{
/**
* 连接数据库
*/
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/us";
String names="root";
String price="";
Connection con=DriverManager.getConnection(url,names,price);
/**
* 建立执行数据语句的平台
* 双引号里再添加引号的时候用单引号或者用\隔开
*/
Statement sta=con.createStatement();
/**
* 执行添加sql语句 us是
*/
String sql="insert into us(?,?) values('durian','ds')";
int n=sta.executeUpdate(sql);
// 插入数据用的是executeUpdate()方法
/**
* 数据库的查询 * @throws Exception
*/
public static void select() throws Exception{
//要使用数据库先要连接数据库(jdbk),1.注册数据库
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/us";
String names="root";
String price="";
//连接数据库Connection中有一个方法
Connection con=DriverManager.getConnection(url,names,price);
/**
* 建立执行数据语句的平台
* Statement
*/
Statement sta=con.createStatement();
/**
* 执行SQL查找
* executeQuery user是表名
*/
String sql="select * from user";
ResultSet rs=sta.executeQuery(sql);
// 查找用的是executeQuery()
/**
* ResultSet遍历用迭代器的
* 这里不需要直接用迭代器的,可以
* 直接用rs,next()实现
*/
while(rs.next()){
// 这里的names要和数据库中的名字要相对应,否则报错
System.out.println(rs.getString("names")+" "+rs.getString("price")+" "+rs.getString("number"));
}
sta.close();
con.close();
}
}
3.用动态方法添加数值得用法:这是和上面的程序是分开的没有任何联系
这是添加类
3.1
package Databases_1; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner; public class FatherClass {
/**
* 添加3个商品的信息
*/
private String names;
private String price;
private String num; public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
private Statement sta;
private Connection con; public Statement getSta() {
return sta;
}
public void setSta(Statement sta) {
this.sta = sta;
}
public Connection getCon() {
return con;
}
public void setCon(Connection con) {
this.con = con;
}
/**
* 设置了3个常量
*/
private static final String URI = "jdbc:mysql://localhost:3306/us";
private static final String USER = "root";
private static final String PASS = ""; public static String getUri() {
return URI;
}
public static String getUser() {
return USER;
}
public static String getPass() {
return PASS;
} /**
* 数据库常用方法
* @throws Exception
*/
Scanner in=new Scanner(System.in);
public void numbers() throws Exception {
//要使用数据库先要连接数据库(jdbk),1.注册数据库
Class.forName("com.mysql.jdbc.Driver");
//连接数据库Connection中有一个方法
setCon(DriverManager.getConnection(URI,USER,PASS));
/*con=DriverManager.getConnection(URI,USER,PASS);*/
/**
* 建立执行数据语句的平台
* Statement
*/
setSta(getCon().createStatement());
/*sta=con.createStatement();*/
}
/**
* 添加的方法
*/
public void inserts() throws Exception{
System.out.println("请输入你要添加的商品名称");
names=in.next();
System.out.println("请输入商品的价格");
price=in.next();
/*setPrice(in.next());*/
System.out.println("请输入商品数量");
num=in.next();
/*setNum(in.next());*/
numbers();
/**
* 执行添加sql语句
*/
String sql="insert into user values('"+names+"','"+price+"','"+num+"')";
int n=sta.executeUpdate(sql);
System.out.println("添加成功");
sta.close();
con.close();
}
/**
* 删除的方法
*/
public void delete() throws Exception{ numbers();
System.out.println("请输入你要删除的商品名称");
names=in.next();
String sql="delete into user where names='"+names+"'";
System.out.println("删除成功");
select();
} /**
* 修改的方法
*/
// public void updata() throws Exception {
// numbers();
// System.out.println("请输入你要修改的商品信息(1.修改商品名称 2.修改商品价格 3.修改商品数量)");
// int n=in.hashCode();
// switch (n) {
// case 1:
// System.out.println("你要修改成的");
// break;
// case 2:
//
// break;
// case 3:
//
// break;
//
// }
// }
/**
* 查找的方法
*/
public void select() throws Exception{ numbers();
/**
* 执行SQL查找
* executeQuery
*/
String sql="select * from user";
ResultSet rs=sta.executeQuery(sql);
/**
* ResultSet遍历用迭代器的
* 这里不需要直接用迭代器的,可以
* 直接用rs,next()实现
*/
while(rs.next()){
System.out.println(rs.getString("names")+" "+rs.getString("price")+" "+rs.getString("number"));
}
sta.close();
con.close();
} }
3.2我这里设置了一个验证的效果:
package Databases_1; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
/**
* 登陆系统
* @author xixu
*
*/
public class Login {
private String us;
private String pw; public void Scanners() {
Scanner in=new Scanner(System.in);
System.out.println("请输入登陆的超市账号");
us=in.next();
System.out.println("请输入登陆的密码");
pw=in.next();
} public boolean selects() throws Exception{
Scanners(); //要使用数据库先要连接数据库(jdbk),1.注册数据库
Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/us";
String username="root";
String password="";
//连接数据库Connection中有一个方法
Connection con=DriverManager.getConnection(url,username,password);
/**
* 建立执行数据语句的平台
* Statement
*/
Statement sta=con.createStatement();
/**
* 执行SQL查找
* executeQuery
*/
String sql="select * from us";
ResultSet rs=sta.executeQuery(sql);
/**
* ResultSet遍历用迭代器的
* 这里不需要直接用迭代器的,可以
* 直接用rs,next()实现
*/
while(rs.next()){
String user=rs.getString("username");
String pwd=rs.getString("password");
if(us.equals(user)&&pw.equals(pwd)) {
return true;
}
} sta.close();
con.close();
return false;
}
}
3.3测试类
package Databases_1; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement; public class Mains { public static void main(String[] args) throws Exception{
Login lo=new Login();
boolean s=lo.selects();
if(s) { System.out.println("登陆成功");
FatherClass fa=new FatherClass();
fa.inserts();
/*fa.select();
fa.delete();*/ }
else {
System.out.println("你的账号输入有误,请核对好账号密码");
} }
}
jdbc最基础的mysql操作的更多相关文章
- jdbc基础 (一) MySQL的简单使用
前段时间学习了jdbc,正好利用这几篇文章总结一下. JDBC 可做三件事:与数据库建立连接.发送操作数据库的语句并处理结果. 而程序首先要做的就是加载数据库驱动,这里我使用的是mysql: Stri ...
- 着重基础之—MySql 不能遗忘的索引操作
着重基础之—MySql 不能遗忘的索引操作 关于MySql索引的基础知识我就不在这里写了,我不太想当信息的搬运工. 技巧分享:Workbench 作为一款专为MySQL设计的ER/数据库建模工具.除了 ...
- (2.7)Mysql之SQL基础——表的操作与查看
(2.7)Mysql之SQL基础——表的操作与查看 搜索关键字:mysql表操作,comment注释操作,mysql临时表 0.临时表 create temporary table 1.创建表(在in ...
- Java JDBC的基础知识(三)
在前面的Java JDBC的基础知识(二)和(三)中,主要介绍JDBC的原理和简单的应用过程.尤其在(二)中,可以发现代码进行多次try/catch,还有在前面创建连接等过程中好多参数我都给写定了. ...
- Java JDBC的基础知识(二)
在我的上一篇Java JDBC的基础知识(一)中,最后演示的代码在关闭资源的时候,仅仅用了try/catch语句,这里是有很大的隐患的.在程序创建连接之后,如果不进行关闭,会消耗更多的资源.创建连接之 ...
- Java JDBC的基础知识(一)
一.为什么引入JDBC 在学习JDBC之前,抛开它的概念,我先按照我的理解解释一下,为什么要引入JDBC.在我看来,引入JDBC跟我之前学过的引入JVM(Java虚拟机)有些相似之处.当然,关于JVM ...
- 使用JDBC进行数据库的事务操作(1)
本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作.下一篇会讲述如何使用JDBC进行数据库的事务操作. 事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑 ...
- 使用JDBC对数据库实现批处理操作
本篇讲述如何使用JDBC对数据库实现批处理操作.很多时候单条SQL命令不能满足我们的需求,我们需要对数据库一次实现很多操作,需要发送一批SQL命令给数据库执行. 而JDBC也提供了相应的方法给我们实现 ...
- JDBC增删改数据库的操作
JDBC入门及简单增删改数据库的操作 一.JDBC的引入 1.JDBC的概念 JDBC:Java Database Connection,表示数据库连接(任何数据库都支持JDBC的连接),是一个独立于 ...
随机推荐
- haproxy学习——安装(一)
安装包:haproxy-1.5.4.tar.gz (挺小的,大约1.3M) ①.首先要sz到本地虚拟机上(centos-6.5),tar zxvf haproxy-1.5.4.tar.gz,完成解压. ...
- Class.forName(),classloader.loadclass用法详解
为什么要把ClassLoader.loadClass(String name)和Class.forName(String name)进行比较呢,因为他们都能在运行时对任意一个类,都能够知道该类的所有属 ...
- 狂欢圣诞节,Azure云邀你一起云端跑酷!
想要速度更快? 希望绕过障碍? 还想安全抵达目的地? …… 平安夜夜游时的各种畅想,不也正是 IT 同事所追求的,更是业务发展的终极目标呀. 好啦,小编说的太多了,这样不好不好.过节休息不谈工作,那就 ...
- 基于配置的Spring AOP
前面几篇学习了Spring的依赖注入,这篇开始学习另一个核心功能——面向切面编程AOP. 通过本文,你可以了解到: 1 Spring xml规范 2 通过配置文件实现面向切面编程 3 对比与传统AOP ...
- 2.LVS配置过程
请查看我的有道云笔记: http://note.youdao.com/noteshare?id=866edb5736418d29c86d68b5198c5c1c&sub=66F88F0A24D ...
- cobbler自动安装
基础环境:centos7.2 本地IP地址:192.168.56.12 网络环境:桥接模式 一.安装cobbler # rpm -ivh http://mirrors.aliyun.com/epel/ ...
- C语言 scanf函数
#include <stdio.h> void test1() { // 1.提示用户输入数据 printf("请输入一个整数:"); // 2.接收用户输入的数据 i ...
- iOS 代码混淆--pch实现
之前实现代码的混淆一般是使用sh脚本,不过也是需要把一写需要混淆的方法写到一个文件中(除非是使用特定的命名规范统一混淆), 现在发现,实现代码的混淆pch 文件就可以轻松完成! 1,在新建的工程中 创 ...
- UVA1184 Air Raid
嘟嘟嘟 最小路径覆盖板子题. 建二分图,然后跑Dinic(因为我不会匈牙利),然后ans = n - maxflow(). 主要是发一下用链前存图的写法.(好像比vector短一点) #include ...
- [19/03/20-星期三] 常用类_Enum(枚举)类
一.概念(JDK 1.5之后才有的类) 所有的枚举(英语:enumeration) 类型隐性地继承自 java.lang.Enum.枚举实质上还是类,而每个被枚举的成员实质就是一个枚举类型的实例,他们 ...