在运行程序之前需要在mysql数据库中创建test数据库,如下图所示:

下面是具体是实现程序:

  

 package News;

 import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner; public class News {
public static void main(String[] args) {
System.out.println("< < < < < < 使用ArrayList实现新闻管理系统 > > > > > >"); while (true) {
Scanner scanner = new Scanner(System.in);
System.out
.println("1. 查询全部新闻\n2. 添加新闻\n3. 删除新闻\n4. 按标题查询新闻\n5. 按标题修改新闻 \n0.退出\n请选择功能(1,2,3,4,5,0):");
int selected = scanner.nextInt(); switch (selected) {
case 1:
reads();
break; case 2:
System.out.println("请输入新闻标题:");
String title = scanner.next();
System.out.println("请输入新闻内容:");
String content = scanner.next();
System.out.println("请输入新闻备注:");
String remark = scanner.next(); add(title, content,remark);
break; case 3:
System.out.println("请输入新闻标题:");
String title2 = scanner.next();
delete(title2);
break; case 4:
System.out.println("请输入新闻标题:");
String title1 = scanner.next();
read(title1);
break; case 5:
System.out.println("请输入新闻标题:");
String title3 = scanner.next();
update(title3);
break; case 0:
scanner.close();
System.exit(0);
break; default:
System.out.println("输入错误,请重新输入:");
break;
}
}
} /**
* 定义添加新闻方法
*
* @param title
* 标题
* @param content
* 内容
*/
public static void add(String title, String content,String remark) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
String sql = "insert into news values(null,'" + title + "','"
+ content + "','"+ remark + "')";
int row = st.executeUpdate(sql);
System.out.println(row > 0 ? "添加成功" : "添加失败");
} catch (Exception e) {
e.printStackTrace();
}
} /**
* 定义查询全部方法
*/
public static void reads() {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
String sql = "select * from news";
ResultSet list = st.executeQuery(sql);
if (list != null) {
while (list.next()) {
int id = list.getInt(1);
String title = list.getString(2);
String content = list.getString(3);
String remark = list.getString(4);
System.out.println(id + "\t" + title + "\t" + content
+ "\t" + remark);
}
}
} catch (Exception e) {
e.printStackTrace();
}
} /**
* 定义根据标题查询新闻的方法
*
* @param title1
* 新闻标题
*/
public static void read(String title1) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost/test";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
String sql = "select * from news where title='" + title1 + "'";
ResultSet row = st.executeQuery(sql);
if (row.next()) {
int id = row.getInt(1);
String title = row.getString(2);
String content = row.getString(3);
String remark = row.getString(4);
System.out.println(id + "\t" + title + "\t" + content + "\t"
+ remark);
}
} catch (Exception e) {
e.printStackTrace();
}
} /**
* 定义按标题删除新闻的方法
*
* @param title
* 新闻方法
*/
public static void delete(String title) {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
String sql = "delete from news where title='" + title + "'";
int row = st.executeUpdate(sql);
System.out.println(row > 0 ? "删除成功" : "删除失败");
} catch (Exception e) {
e.printStackTrace();
}
} /**
* 定义根据标题修改新闻的方法
*
* @param title
* 新闻标题
*/
public static void update(String title) { try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();
String sql = "select * from news where title='" + title + "'";
ResultSet list = st.executeQuery(sql);
if (list.next()) {
Scanner sca = new Scanner(System.in);
System.out.println("请输入新的新闻标题:");
String title4 = sca.next();
System.out.println("请输入新闻内容:");
String content = sca.next();
System.out.println("请输入备注:");
String remark = sca.next(); String sql1 = "update news set title='" + title4
+ "',content='" + content + "',remark='" + remark + "' where title='"+title+"'";
System.out.println(sql1);
int u = st.executeUpdate(sql1);
System.out.println(u > 0 ? "修改成功" : "修改失败");
sca.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Mysql数据库的增删改查的更多相关文章

  1. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  2. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  3. 【转载】通过JDBC对MySQL数据库的增删改查

    通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...

  4. 通过Loadruner对mysql数据库进行增删改查

    操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一下,数据库访问流程:打开数据库  --> 数据库 ...

  5. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  6. c#winform简单实现Mysql数据库的增删改查的语句

    通过简单的SQL语句实现对数据库的增删改查. 窗口如下: 定义打开与关闭连接函数,方便每次调用: 增加指令: 删除指令: 修改指令: 查找指令: 表格情况:

  7. C++ API方式连接mysql数据库实现增删改查

    这里复制的 http://www.bitscn.com/pdb/mysql/201407/226252.html 一.环境配置 1,装好mysql,新建一个C++控制台工程(从最简单的弄起,这个会了, ...

  8. 【C#】使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

  9. 使用nodejs连接mysql数据库实现增删改查

      首先要有数据库 使用xampp 或者 phpstudy 可以傻瓜式安装 新建一个项目文件夹 之后在这个目录下初始化package.json (npm init) 先在项目中安装mysql 和 ex ...

  10. 使用NHibernate连接MySQL数据库及增删改查

    学习资料 http://www.sikiedu.com/course/51/task/891/show https://www.codeproject.com/Articles/26123/NHibe ...

随机推荐

  1. timestamp类型在jsp页面输出格式化方法

    jsp页面使用了iterator迭代器,迭代器中有个属性名字为time,其类型为timestamp类型的,至于为什么是这个类型嘛,就是用navicat建好数据库直接映射出来的实体类,所以就是这个类型啦 ...

  2. 对于JVM中方法区,永久代,元空间以及字符串常量池的迁移和string.intern方法

    在Java虚拟机(以下简称JVM)中,类包含其对应的元数据,比如类的层级信息,方法数据和方法信息(如字节码,栈和变量大小),运行时常量池,已确定的符号引用和虚方法表. 在过去(当自定义类加载器使用不普 ...

  3. Zoom Me FAQ

    Q: How to config custom shortcuts? A: Enter the preferences setting window from menu bar "Prefe ...

  4. JAVA启动参数整理[转]

    java启动参数共分为三类: 其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容: 其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足, ...

  5. BZOJ 2761: [JLOI2011]不重复数字 hash哈希

    题目就不贴了 点我看题 题意:这题题意很简明,就是给一个序列,把序列里相同的删掉,然后输出,按原数列顺序. 思路:这题之前QZZ和ZN大神犇叫我去做,辣时还不会hash,就留着了.最近某夏令营学会了h ...

  6. NAT模式下远程连接centos6虚拟机与虚拟机网络配置

    最近装了centos,但是没有网络,也无法远程连接.关键是虚拟机中没有ip地址. 网上方法很多,但是每个人情况不一样,所以不尽适用. 1.解决这个问题,首先保证你的vmware的dhcp服务和net服 ...

  7. .net知识点汇总

    死锁的必要条件?怎么克服? 答:系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已阻塞,对已获得资源不放,进程获得资源时,未使用 ...

  8. IIS和ASP.NET MVC 管道处理模型

    转载自  博客园 青羽 http://www.cnblogs.com/tenghoo/archive/2009/11/04/IIS_And_ASPNET_Http_Runtime_Pipeline.h ...

  9. [Vue]实例化Vue时的两种挂载方式el与$mount

    Vue 的$mount()为手动挂载,在项目中可用于延时挂载(例如在挂载之前要进行一些其他操作.判断等),之后要手动挂载上.new Vue时,el和$mount并没有本质上的不同. 1.el Vue实 ...

  10. 揭开A*算法的神秘面纱

    揭开A*算法的神秘面纱 一.总结 一句话总结:f(n)=g(n)+h(n) 这个算法有点像BFS的优化算法. g(n)为起点到当前方格的距离,这个是已知的. h(n)为当前方格到终点的距离,这个简单点 ...