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的连接),是一个独立于 ...
随机推荐
- 编写可维护的 Gruntfile.js
load-grunt-tasks 插件 首先介绍下 load-grunt-tasks 这个插件. 我们一般都会把所有用到的插件以及插件的配置写到 Gruntfile.js 里面,对于小项目来说这个文件 ...
- Eclipse SWT
Reference: http://www.eclipse.org/swt/ http://www.functionx.com/win32/Lesson01.htm http://www.win32d ...
- SharePoint 2013 - Client OM
1. 向 executeQueryAsync 中传递参数可以使用以下两种方式,也可以参考这篇文章: var mySuccessCallBack = Function.createCallback(on ...
- 关于Android中的ViewTreeObserver
ViewTreeObserver结构 extends Object java.lang.Object ↳ android.view.ViewTreeObserver ViewTreeObserver概 ...
- Java性能调优实践
1 导论 JVM主要有两类调优标志:布尔标志和附带参数标志 布尔标志:-XX:+FlagName表示开启,-XX:-FlagName表示关闭. 附带参数标志:-XX:FlagName=somethi ...
- 30分钟LINQ教程 【转载】
原文地址:http://www.cnblogs.com/liulun/archive/2013/02/26/2909985.html 在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有 ...
- 关于移动App开发前端UI框架选择
问题:现在移动开发各种必须,而移动开发纠结在于怎样快速高效的开发出来. 做web开发有些年头了,成熟的前端套件(easyui,extjs,jqueryui)很是方便,可以开发出来规范一直的产品,各种组 ...
- 【Leetcode】【Easy】Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- 一键生成http服务器
如果你想用最简单的方法在内网共享目录,可以考虑为要共享的目录生成一个http服务器,这样就可以在内网任一台设备打开浏览器就可以浏览了.简单举几个例,有了这个http服务器就可以: 在手机浏览器里观看电 ...
- ORACLE常用函数汇总(持续更新中....)
在使用ORACLE过程中,把一些常用的函数的相关用法,注意事项进行简单的汇总,便于自己查询参考. DBMS_RANDOM包 dbms_random是一个可以生成随机数值或者字符串的程序包.这个包有in ...