Mysql数据库的增删改查
2024-08-21 17:18:42
在运行程序之前需要在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();
}
}
}
最新文章
- iOS开发UI篇—popoverController使用注意
- ex_KMP--Theme Section
- SQL Server 2005中更改sa的用户名和密码
- Support Vector Machines for classification
- 在JavaScript中,this关键字指什么?
- ZOJ 3910 Market ZOJ Monthly, October 2015 - H
- ExtJS 刷新或者重载Tree后,默认选中刷新前最后一次选中的节点代码片段
- HDU 4718 The LCIS on the Tree(树链剖分)
- 让内层Div将外层Div撑开
- oracle 统计语句 与常见函数的归纳(未完待续)
- Swift构造器(Initializer)与析构器(Deinitializer)
- (hdu step 6.3.1)Strategic Game(求用最少顶点数把全部边都覆盖,使用的是邻接表)
- java中对象的转型
- Git存储用户名和密码(明文需谨慎)
- spider JAVA如何判断网页编码 (转载)
- 3星|《AI极简经济学》:AI的预测、决策、战略等方面的应用案例介绍
- C#学习笔记(十二):构造函数、属性和静态类
- nuclio dokcer 运行测试
- String class fetch functionality
- javaSE知识点汇总