帮我写一段Java代码,能够实现简单的工厂信息管理系统。要求所有数据能够接入到SQLserver数据库
时间: 2023-06-18 14:01:58 浏览: 55
好的,以下是一个简单的工厂信息管理系统的 Java 代码示例,它能够将数据接入到SQL Server数据库中。
首先,我们需要创建一个工厂信息类 Factory,该类包含工厂的基本信息,如工厂名称、地址、联系方式等。
```java
public class Factory {
private int id;
private String name;
private String address;
private String phone;
public Factory(int id, String name, String address, String phone) {
this.id = id;
this.name = name;
this.address = address;
this.phone = phone;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getAddress() {
return address;
}
public String getPhone() {
return phone;
}
}
```
接下来,我们需要创建一个工厂信息管理系统的接口 FactoryManager,该接口包含了向数据库添加、查询、删除、更新工厂信息的方法。
```java
import java.util.List;
public interface FactoryManager {
void addFactory(Factory factory);
List<Factory> getAllFactories();
Factory getFactoryById(int id);
void updateFactory(Factory factory);
void deleteFactory(int id);
}
```
然后,我们需要创建一个工厂信息管理系统的实现类 FactoryManagerImpl,该类实现了 FactoryManager 接口,并将数据存储到 SQL Server 数据库中。
```java
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class FactoryManagerImpl implements FactoryManager {
private String url;
private String user;
private String password;
public FactoryManagerImpl(String url, String user, String password) {
this.url = url;
this.user = user;
this.password = password;
}
public void addFactory(Factory factory) {
try {
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement stmt = conn.prepareStatement("INSERT INTO factories (name, address, phone) VALUES (?, ?, ?)");
stmt.setString(1, factory.getName());
stmt.setString(2, factory.getAddress());
stmt.setString(3, factory.getPhone());
stmt.executeUpdate();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Factory> getAllFactories() {
List<Factory> factories = new ArrayList<Factory>();
try {
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM factories");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String address = rs.getString("address");
String phone = rs.getString("phone");
Factory factory = new Factory(id, name, address, phone);
factories.add(factory);
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return factories;
}
public Factory getFactoryById(int id) {
Factory factory = null;
try {
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM factories WHERE id = ?");
stmt.setInt(1, id);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
String name = rs.getString("name");
String address = rs.getString("address");
String phone = rs.getString("phone");
factory = new Factory(id, name, address, phone);
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
return factory;
}
public void updateFactory(Factory factory) {
try {
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement stmt = conn.prepareStatement("UPDATE factories SET name=?, address=?, phone=? WHERE id=?");
stmt.setString(1, factory.getName());
stmt.setString(2, factory.getAddress());
stmt.setString(3, factory.getPhone());
stmt.setInt(4, factory.getId());
stmt.executeUpdate();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void deleteFactory(int id) {
try {
Connection conn = DriverManager.getConnection(url, user, password);
PreparedStatement stmt = conn.prepareStatement("DELETE FROM factories WHERE id = ?");
stmt.setInt(1, id);
stmt.executeUpdate();
stmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
最后,我们可以在 main 方法中使用该工厂信息管理系统实现对工厂信息的添加、查询、更新、删除等操作。
```java
public class Main {
public static void main(String[] args) {
String url = "jdbc:sqlserver://localhost:1433;databaseName=mydatabase";
String user = "sa";
String password = "mypassword";
FactoryManager factoryManager = new FactoryManagerImpl(url, user, password);
factoryManager.addFactory(new Factory(1, "Factory A", "Address A", "Phone A"));
factoryManager.addFactory(new Factory(2, "Factory B", "Address B", "Phone B"));
List<Factory> factories = factoryManager.getAllFactories();
for (Factory factory : factories) {
System.out.println(factory.getName() + " - " + factory.getAddress() + " - " + factory.getPhone());
}
Factory factory = factoryManager.getFactoryById(1);
factory.setAddress("New Address A");
factoryManager.updateFactory(factory);
factoryManager.deleteFactory(2);
}
}
```
注意,以上代码示例仅供参考,实际使用时需要根据具体的需求进行修改和优化。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)