昨天第一天接到任务,把数据库中name相同的行,将第一条中列不为空的内容复制到第二条为空的对应位置。
public static void main(String[] args) {
// TODO Auto-generated method stub
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/brew_operation_db?characterEncoding=UTF-8";
String userName = "root";
String password = "123";
ArrayList<String> Imagepath = new ArrayList<String>();
ArrayList<String> name = new ArrayList<String>();
ArrayList<Integer> id = new ArrayList<Integer>();
ArrayList<Integer> ids = new ArrayList<Integer>();
try {
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, userName, password);
Statement statement = conn.createStatement();
String sql = "select * from brew group by name having count(*)>1";
ResultSet rs = statement.executeQuery(sql);
while(rs.next()){
name.add(rs.getString("name"));
id.add(rs.getInt("id"));
Imagepath.add(rs.getString("Imagepath")) ;
}
rs.close();
statement.close();
for (int j = 0; j < id.size(); j++) {
String sqla = "select * from brew where name = '"+name.get(j)+"' and id <> "+id.get(j);
Statement statement1 = conn.createStatement();
ResultSet rs1 = statement1.executeQuery(sqla);
if(rs1.next()){
ids.add(rs1.getInt("id"));
}
}
for (int i = 0; i < ids.size(); i++) {
String sqlb = "update brew set Imagepath = '"+Imagepath.get(i)+"' where id = "+ids.get(i);
Statement statement2 = conn.createStatement();
int s = statement2.executeUpdate(sqlb);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
代码很不完善,遇到很多问题,最难是最后问杨哥的,原来是编码,一定要记住!
String url = "jdbc:mysql://localhost:3306/brew_operation_db?characterEncoding=UTF-8";
分享到:
相关推荐
下面我们将详细探讨Java连接数据库的相关知识点。 首先,要连接到数据库,我们需要以下组件: 1. **JDBC驱动**:这是Java程序与特定数据库通信的桥梁。不同的数据库有不同的JDBC驱动,例如,对于SQL Server 2000,...
在Java编程中,连接数据库以实现用户登录功能是一项基础但重要的任务。这通常涉及到数据库的交互,如查询、验证用户凭据。以下是一份详细的步骤和知识点解释,以帮助初学者理解和实现这一功能。 首先,我们需要理解...
在Java编程中,连接数据库和生成数据报表是两个核心任务,尤其在企业级应用开发中至关重要。本压缩包包含的资源旨在提供必要的库文件,帮助开发者实现这些功能。以下是相关知识点的详细介绍: 1. **Java数据库连接...
Java连接Cache数据库主要涉及到的是如何使用Java编程语言与Intersystems Cache数据库进行交互。Intersystems Cache是一款高性能、面向对象的数据库系统,广泛应用于医疗、金融等领域的复杂数据管理。在Java环境中,...
### Java连接数据库增删改查知识点详解 #### 数据库连接 - DBConnection类解析 在Java中,连接数据库是一项基础但至关重要的操作。`DBConnection`类是实现这一目标的关键组件,它封装了与SQL Server 2000数据库...
本资源包“Java连接数据库所需要的软件.zip”是为Java开发者准备的一套完整工具集合,帮助他们顺利地进行数据库连接和管理。下面将详细介绍这个压缩包中的关键组件及其在Java数据库连接中的作用。 首先,MySQL是一...
在Java编程中,连接...总的来说,Java连接数据库实现教师管理系统的增删改查,涉及了JDBC API的使用、SQL语句编写以及数据库操作的设计。在实际项目中,还需要关注性能优化、安全性、错误处理以及代码结构的合理性。
Java JDBC 数据库连接池技术是Java应用程序访问数据库的关键优化手段,尤其在Web应用程序中,它解决了传统JDBC连接方式存在的效率低下和资源浪费问题。Java JDBC(Java Database Connectivity)是Java语言与各种...
Java 网络连接数据库 Java 网络连接数据库是指使用 Java 语言连接数据库的过程。下面是关于 Java 网络连接数据库的一些知识点: 一、通过构造方法连接服务器 在 Java 中,我们可以通过六个重载构造函数以不同的...
根据提供的标题、描述以及部分代码内容,我们可以总结出以下关于使用Java连接SQL Server数据库的关键知识点: ### Java连接SQL Server数据库的基础知识 1. **环境配置**: - SQL Server版本:这里提到了`sql...
总之,Java连接数据库涉及的JAR文件和连接池技术是Java后端开发中的基础组件,理解它们的工作原理和使用方法对提升应用性能和稳定性具有重要意义。开发者应根据实际需求选择合适的数据库驱动和连接池实现,并确保...