JAVA对MYSQL进行连接、插入、修改、删除操作
来自http://blog.sina.com.cn/s/blog_4bea2fb10100f147.html
JAVA对Mysql进行连接、插入、修改、删除操作。
数据库表单的创建
mysql> create database shuishengmu;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| shuishengmu |
| test |
+--------------------+
4 rows in set (0.00 sec)
mysql> use shuishengmu;
Database changed
mysql> create table user(
-> userid int(8) unsigned not null auto_increment,
-> username varchar(20) not null default'',
-> password varchar(40) not null default'',
-> email varchar(40) not null default'',
-> primary key(userid)
-> )
-> type=myisam;
Query OK, 0 rows affected, 1 warning (0.00 sec)
******************************************************************************
下面的类是连接、插入、修改、删除操作
package shuishengmu;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ConnectDatabase {
String drivename="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost/shuishengmu";
String user="root";
String password="111111";
String insql;
String upsql;
String delsql;
String sql="select * from user";
String name;
Connection conn;
ResultSet rs=null;
public Connection ConnectMysql(){
try{
Class.forName(drivename);
conn = (Connection) DriverManager.getConnection(url, user, password);
if (!conn.isClosed()) {
System.out.println("Succeeded connecting to the Database!");
} else {
System.out.println("Falled connecting to the Database!");
}
}catch(Exception ex){
ex.printStackTrace();
}
return conn;
}
public void CutConnection(Connection conn) throws SQLException{
try{
if(rs!=null);
if(conn!=null);
}catch(Exception e){
e.printStackTrace();
}finally{
rs.close();
conn.close();
}
}
class user{//内部类,其字段对应用来存放、提取数据库中的数据
int userid;
String username="";
String password="";
String email="";
//通过set方法,往类的实例里“存放”数据
//通过get方法,从类的实例里“获得”数据,然后再通过插入数据库
public void setId(int userid){
this.userid=userid;
}
public void setName(String username){
this.username=username;
}
public void setPassword(String password){
this.password=password;
}
public void setEmail(String email){
this.email=email;
}
public Integer getId(){
return userid;
}
public String getName(){
return username;
}
public String getPassword(){
return password;
}
public String getEmail(){
return email;
}
}
//插入、删除、更新的方法是一样的,不一样的是数据库参数
public boolean InsertSql(user user){
try{
insql="insert into user(userid,username,password,email) values(?,?,?,?)";
//上面的方法比下面的方法有优势,一方面是安全性,另一方面我忘记了……
//insql="insert into user(userid,username,password,email) values(user.getId,user.getName,user.getPassword,user.getEmail)";
PreparedStatement ps=conn.prepareStatement(insql);
//.preparedStatement(insql);
//PreparedStatement ps=(PreparedStatement) conn.prepareStatement(insql);
ps.setInt(1, user.getId());
ps.setString(2, user.getName());
ps.setString(3, user.getPassword());
ps.setString(4, user.getEmail());
int result=ps.executeUpdate();
//ps.executeUpdate();无法判断是否已经插入
if(result>0)
return true;
}catch(Exception e){
e.printStackTrace();
}
return false;
}
//与其他操作相比较,查询语句在查询后需要一个查询结果集(ResultSet)来保存查询结果
public void SelectSql(String sql){
try{
Statement statement=conn.createStatement();
rs=statement.executeQuery(sql);
while(rs.next()){
name=rs.getString("username");
System.out.println(rs.getString("userid")+name+rs.getString("email"));
}
}catch(Exception e){
e.printStackTrace();
}
}
public boolean UpdateSql(String upsql){
try {
PreparedStatement ps = conn.prepareStatement(upsql);
int result=ps.executeUpdate();//返回行数或者0
if(result>0)
return true;
} catch (SQLException ex) {
Logger.getLogger(ConnectDatabase.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
public boolean DeletSql(String delsql){
try {
PreparedStatement ps = conn.prepareStatement(upsql);
int result=ps.executeUpdate(delsql);
if(result>0)
return true;
} catch (SQLException ex) {
Logger.getLogger(ConnectDatabase.class.getName()).log(Level.SEVERE, null, ex);
}
return false;
}
}
*************************************************************************
用来测试上面方法的类:
package shuishengmu;
import java.sql.SQLException;
import shuishengmu.ConnectDatabase.user;
public class Main {
public static void main(String args[]) throws SQLException{
ConnectDatabase cd=new ConnectDatabase();
user user=cd.new user();
cd.ConnectMysql();
user.setId(14);//每次测试运行都要改变该数字
user.setName("zhangsan");
user.setPassword("we23");
user.setEmail("udjdj@125.com");
cd.upsql="update user set username='we' where userid=5";
cd.delsql="delete from user where userid=1";
//cd.InsertSql(user,"kkk");
cd.InsertSql(user);
cd.DeletSql(cd.delsql);
cd.UpdateSql(cd.upsql);
cd.SelectSql(cd.sql);
cd.CutConnection(cd.conn);
}
}
JAVA对MYSQL进行连接、插入、修改、删除操作相关推荐
- 数据库系统实践 IV 查询插入修改删除操作
知识 CASE函数 是一种多分支的函数,可以根据条件列表的值返回多个可能的结果表达式中的一个. 可用在任何允许使用表达式的地方,但不能单独作为一个语句执行. 分为: 简单CASE函数 搜索CASE函数 ...
- mysql利用触发器删除数据库_[数据库]mysql 触发器的创建 修改 删除
[数据库]mysql 触发器的创建 修改 删除 0 2015-12-16 23:00:04 //做一个简单的练习,创建一个简单的触发器 完成添加文章的时候,自动加上时间,默认作者 为 '日记本的回忆' ...
- 红黑树及其插入、删除操作
在二叉搜索树中,基本操作如结点的插入.删除.查找的性能上界都得不到保证,原因在于二叉搜索树的构造依赖于其结点值的插入顺序,最坏情况下二叉搜索树会退化为单链表(如下图所示).因此我们需要对二叉搜索树做出 ...
- oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作
oracle 用户表数目,表大小,视图数目及表空间等查询增加修改删除操作 查看当前用户的缺省表空间 SQL>select username,default_tablespace fromuser ...
- 本科课程【数据结构与算法】实验1——线性表的顺序表示及插入、删除操作(C++实现)
大家好,我是[1+1=王], 热爱java的计算机(人工智能)渣硕研究生在读. 如果你也对java.人工智能等技术感兴趣,欢迎关注,抱团交流进大厂!!! Good better best, never ...
- 多表(三个表)插入与删除操作
业务需求: 新增和删除分类信息,以category为主表,category_detail和image为副表,在不额外编写Sql.mapper.xml文件的前提下,利用mybatis-plus中的内置函 ...
- 顺序表的插入和删除操作
C语言线性表的插入和删除操作 C语言数据结构的学习之线性表的插入与删除操作 C语言线性表的插入和删除操作 一.插入操作 插入操作的时间复杂度分析: 二.删除操作 删除操作的时间复杂度分析: 查找操作 ...
- 二叉平衡树的插入和删除操作
[转载]二叉平衡树的插入和删除操作 1. 二叉平衡树 二叉排序树查找.插入和删除操作的时间复杂度和树的深度n有关.构建树时,当先后插入的结点按关键字有序时,二叉排序树退化为单枝树,平均查找长 ...
- asp.net 对xml文件的读写,添加,修改,删除操作
asp.net 对xml文件的读写,添加,修改,删除操作 下面有代码调试正确 using System; using System.Collections; using System.Componen ...
最新文章
- 如何判断飞机的年限_技术流带你鉴定前风挡玻璃更换,不再使用日期判断!
- less14 颜色函数2
- 继承复习-发均分红包案例
- zk的数据目录:`version-2`
- 手把手教你拦截Linux系统调用
- mysql left join 索引失效_MySQL索引列上做操作导致索引失效案例分析
- tensorflow http调用_《TensorFlow 内核剖析》笔记——系统架构
- 计算机常见故障报警,常见听报警志与故障
- leetcode-全排列详解(回溯算法)
- 【LeetCode】10. Regular Expression Matching
- 服务器音频文件缓存,音频文件如何缓存到本地,和播放缓存到本地的音频文件...
- Koo叔说Shader-Unity中的Shader
- 学生党白嫖服务器-不会吧不会吧,你还在买学生机吗?
- 好分数班级等级C_2020高中分数线(广州|深圳|天津|广州|南宁|泉州|龙岩|武汉|沈阳|青岛|汉中|长春|四平|北京等)...
- 《美团机器学习实践》学习笔记:机器学习中的模型评价指标(二)——回归模型评估
- declare 简单用法
- 如何魔改Xilinx Vivado 的MIG IP核
- linux aria2 参数,aria2常用命令
- 如何使用WordPress建立亚马逊会员商店
- springboot启动失败的原因及其解决方法