Vous pouvez utiliser String
type de données pour représenter la valeur Time
, ou vous pouvez utiliser MySQLTime
type de données et dans votre code Java utiliser preparedStatement.setTime()
, par exemple:
votre table est:
CREATE my_table (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR2(30) NOT NULL,
time_from TIME
);
Votre code Java peut ressembler à ceci:
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.Time;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class MySQLDatabaseDemo {
Connection conn = null;
PreparedStatement preparedStatement = null;
public static Connection getConnection() throws Exception {
String driver = "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/databaseName";
String username = "root";
String password = "root";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username,
password);
return conn;
}
/**
* @param args [0] = value of "id"
* [1] = value of "name"
* [2] = value of "time_from"
*/
public void insertRowWithTimeDatatype(String[] args) {
String query = "insert into my_table (id, name, timefrom) " +
"values (?, ?, ?)";
DateFormat sdf = new SimpleDateFormat("hh:mm:ss");
Date date = sdf.parse(args[2]);
Time time = new Time(date.getTime());
try {
conn = getConnection(); // getConnection() is YOUR method
preparedStatement = conn.prepareStatement(query);
preparedStatement.setInt(1, Integer.parseInt(args[0]));
preparedStatement.setString(2, args[1]);
preparedStatement.setTime(3, time);
// Execute statement and return the number of rows affected
int rowCount = preparedStatement.executeUpdate();
System.out.println("Number of rows affected: " + rowCount);
} finally {
preparedStatement.close();
conn.close();
}
}
}
Vous pouvez même utiliser « varchar » comme dans le tableau de type de données MySQL et le stocker directement sous forme de chaîne. Plus tard, vous pouvez récupérer en tant que chaîne et convertir en votre objet Date si nécessaire via le code Java –
s'il vous plaît! J'ai besoin de TIME type pas DATETIME –
Bienvenue dans Stack Overflow. Veuillez rechercher votre question avant de l'afficher. Dans de nombreux cas, vous trouverez votre réponse plus rapidement grâce à votre moteur de recherche. Si vous ne le faites pas, lorsque vous nous dites ce que vous avez trouvé et ce que vous n'avez pas trouvé, ce que vous avez essayé et ce qui vous manque encore, nous pouvons vous guider beaucoup plus précisément. –