自己写的一个java小程序遇到了问题

朝目标努力的苍白 2019-02-21 09:24:22


我用java写一个程序,输入一个号码,能插入数据库,这项数据后有个状态栏设置为1,再输一遍同样的号码,状态栏更新为2,再输一遍,状态栏更新为3,目前把大部分代码写好了,但是不知道如何在main里调用写好的方法,请大家帮我
看看

package bean;
/**
*
* @author Hu
*
*/

public class product {
private int id;
private String IMEI;
private String status;




public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getIMEI() {
return IMEI;
}
public void setIMEI(String iMEI) {
IMEI = iMEI;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}

}

package DAO;

import bean.product;

public interface productDao {
public boolean Firstscan(product p) throws Exception;

public boolean Secondscan(product p) throws Exception;

public boolean Thirdscan(product p) throws Exception;

}




package DaoImpl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import DAO.productDao;
import bean.product;

public class productDaoImpl implements productDao {

private Connection conn = null;
private PreparedStatement pstm = null;

public productDaoImpl(Connection conn) {
this.conn = conn;
}

@Override
public boolean Firstscan(product p) throws Exception {
pstm = null;
int result = 0;
String sql = "insert into device(imei,status)value(?,?)";
pstm = this.conn.prepareStatement(sql);
pstm.setString(1, p.getIMEI());
pstm.setString(2, "1");
pstm.close();
if (result == 1) {
return true;
}
return false;
}



@Override
public boolean Secondscan(product p) throws SQLException {
pstm = null;
int result = 0;
String sql = "update device set status =? where imei="+p.getIMEI();
pstm = this.conn.prepareStatement(sql);

pstm.setString(2, "2");
pstm.close();
if (result == 1) {
return true;
}
return false;
}



@Override
public boolean Thirdscan(product p) throws SQLException {
int result = 0;
pstm = null;
String sql = "update device set status =? where imei="+p.getIMEI();
pstm = this.conn.prepareStatement(sql);

pstm.setString(2, "3");
pstm.close();
if (result == 1) {
return true;
}
return false;
}


}



package test;

import java.util.Scanner;

import DAO.productDao;
import DaoImpl.productDaoImpl;
import bean.product;

public class test {
public static void main(String[] args) {
product p = new product();
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
p.setIMEI(s);


}

}



代码如上,接下来我应该如何写我不清楚了,请各位大佬教教我
...全文
266 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_39936465 2019-02-22
  • 打赏
  • 举报
回复

productDao prod=new productDaoImpl(conn);

你还缺少数据库连接类。
bcsflilong 2019-02-22
  • 打赏
  • 举报
回复
但是不知道如何在main里调用写好的方法


把方法定义成public static 或者直接new对象 之后调用方法
qq_39936465 2019-02-22
  • 打赏
  • 举报
回复
你这个dao接口怎么这样设置呢?

按题意dao接口应该设置

查询,添加和修改3个方法

然后主程序先查询,查询没有该号码直接添加,状态设置为1.

查询如果有号码,检查状态值小于3的话,进行修改sql操作,状态值+1.

如果状态值大于等于3的号,可以设置其他操作。

  • 打赏
  • 举报
回复
引用 1 楼 qq_39936465 的回复:
你这个dao接口怎么这样设置呢? 按题意dao接口应该设置 查询,添加和修改3个方法 然后主程序先查询,查询没有该号码直接添加,状态设置为1. 查询如果有号码,检查状态值小于3的话,进行修改sql操作,状态值+1. 如果状态值大于等于3的号,可以设置其他操作。
经您这么一说感觉这么写好像更合理,等我回去试试

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧