Java操作mysql数据库实例介绍
admin
2023-05-28 08:41:20
0

package com.Jdbc.demo;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import com.mysql.jdbc.Connection;

public class jdbc02 {

public static final String url = "jdbc:mysql://localhost:3306/school?useUnicode=true&characterEncoding=UTF-8"; //连接数据库的URL地址

public static String username = "root"; //数据库的用户名

public static String password = "";  //数据库的密码

public static Connection conn=null;//连接对象

    public static Statement stmt=null;//语句

    public static ResultSet rs = null;//结果集

//1.加载MySQL数据库驱动

    static

    {

try {

Class.forName("com.mysql.jdbc.Driver");

//2、建立数据库连接

conn = (Connection) DriverManager.getConnection(url,username,password);

 

if(conn != null)

{

System.out.println("数据库连接正常");

}

else

{

System.out.println("数据库连接失败");

}

catch (Exception e)

{

e.printStackTrace();

}

  }

  //查询所有的学生资料

  public static void query()

  {

  String sql = "select * from students;";

  try {

  stmt = conn.createStatement();

  rs = stmt.executeQuery(sql);

  while(rs.next())

  {

  System.out.println("学号:"+rs.getInt("sid")+",姓名:"+rs.getString("sname")+",年龄:"+rs.getInt("age")+",性别:"+rs.getString("gender"));

  }

 

} catch (Exception e)

  {

e.printStackTrace();

  }

  finally 

  {

destoryResource(); 

}

  }

//添加学生方法

public static boolean add()

{

String sql = "insert into Students values (11,'张三天',138,'f','zhangsan@qq.com','广州阳江');";

try

{

stmt = conn.createStatement();

int result = stmt.executeUpdate(sql);

if(result > 0)

{

System.out.println("数据添加成功");

return true;

}

else

{

System.out.println("数据库添加失败");

return false;

}

}

catch(Exception ex)

{

ex.printStackTrace();

return false;

}

finally

{

destoryResource();

}

}

 

 

  //释放资源的方法

  public static void destoryResource()

  {

  try {

  if(rs != null)

  {

  rs.close();

  rs = null;

  }

  if (stmt != null)

  {

  stmt.close();

  stmt = null;

  }

 

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

  }

 

  //释放最后资源

  public static void destoryallResource()

  {

  try 

  {

  if (conn != null)

  {

conn.close();

conn = null;

}

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace();

}

  }

 

  //删除指定学号的学生资料

  public static boolean delete(int sid)

  {

  String sql = "delete from students where sid="+sid;

try

{

stmt = conn.createStatement();

int result = stmt.executeUpdate(sql);

if(result>0)

{

System.out.println("数据添删除成功");

return true;

}

else

{

System.out.println("数据添没有删除");

return false;

}

}

catch(Exception ex)

{

ex.printStackTrace();

return false;

}

finally

{

destoryResource();

}

  }

 

  //修改所有学生的年龄为20岁

  public static boolean update(int age)

  {

  String sql = "update students set age="+age;

  try

  {

  stmt = conn.createStatement();

  int result = stmt.executeUpdate(sql);

  if(result>0)

  {

  return true;

  }

  else

  {

  return false;

  }

  }

  catch(Exception ex)

  {

  ex.printStackTrace();

  return false;

  }

  finally

  {

  destoryResource();

  }

  }

 

 

 

  public static void main(String[] args) 

  {

  jdbc02.query();  //查询语句

 

  if (jdbc02.add()) 

  {

  System.out.println("添加成功!");

}

  else 

  {

  System.out.println("添加失败!");

}

 

  System.out.println("---------------------");

  jdbc02.query();

  jdbc02.delete(11);

System.out.println("------删除学号为11的学生之后--------");

jdbc02.query();

jdbc02.update(20);

System.out.println("------修改所有学生年龄为20岁--------");

jdbc02.query();

jdbc02.destoryallResource();  //释放资源

  }

}

相关内容

热门资讯

特朗普:或不得不再让油价上涨 当地时间8月5日,美国总统特朗普在拉斯维加斯一场活动上发表演讲时称,近期油价已下跌并在一定程度上趋于...
特朗普学签新政阴影下,中国人还... 【文/观察者网专栏作者 狄薇薇】众所周知,特朗普卷土重来后,对以中国为代表的全球留美学生发起了一场“...
飞亚达申请高精度轴类气动工装专... 国家知识产权局信息显示,深圳市飞亚达科技发展有限公司申请一项名为“一种高精度轴类气动工装”的专利,公...
噪声在线监测仪的应用场景与选型... 噪声在线监测仪是环境噪声监测领域常用的设备类型,广泛应用于城市功能区监测、建筑施工场地、工业企业厂界...
“最长太空出差”归来后神二十一... “最长太空出差”归来后神二十一乘组首次公开亮相 8月5日下午,在北京航天城举行的记者见面会上,指令...
神二十一乘组“最长太空出差”归... 新华社北京8月5日电(刘艺、占康、黄一宸)创造单个乘组在轨驻留时长纪录的神舟二十一号航天员乘组,5日...
一场被遗忘的战争,彻底杀红了眼 世界的目光,总是有限的。当越来越多的目光,聚焦在中东的时候;俄乌似乎成了一场被遗忘的战争,尽管正变得...
2nm旗舰价格集体起飞:500... 快科技8月5日消息,博主数码闲聊站表示,由于2nm芯片成本高昂,搭载该平台的终端起步价将超过5000...
美国制裁中国的帮凶,挨了一记重... 执笔/胡一刀8月5日,商务部集中打出一套反制“组合拳”。这套“组合拳”包括,加强无人机相关两用物项对...
炸河床、停核电、运费暴涨……百... 据美国消费者新闻与商业频道 (CNBC)8月5日报道,极端干旱席卷欧洲,莱茵河、多瑙河水位骤降,内河...