⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 track.java

📁 此程序都是企业级 的数据库开发程序 全面揭示了JAVA对数据库的操作
💻 JAVA
字号:
package statements;

import java.sql.*;
import java.util.*;
import connections.ConnectionFactory;

public class Track {

  // track data
  int recordingId;
  String recordingTitle;
  int trackNumber;
  String trackTitle;
  int artistId;
  String artistName;
  int styleId;
  String styleName;
  String sampleFilespec;

  // JDBC variables
  PreparedStatement preparedStmt;
  ResultSet resultSet;
  Vector results;

  // CRUD flags
  boolean create;
  boolean retrieve;
  boolean update;
  boolean delete;

  static String sqlSelect = "SELECT " + "recordings.recordingid, " +
                            "recordings.recordingtitle, " +
                            "tracks.tracknumber, " +
                            "tracks.tracktitle, " + "tracks.artistid, " +
                            "artistsandperformers.artistname, " +
                            "tracks.styleid, " +
                            "audiostyles.audiostyledescription, " +
                            "tracks.samplefilespec ";

  static String sqlFrom = 
    "FROM tracks, recordings, artistsandperformers, audiostyles ";

  static String sqlWhere = "WHERE ";

  static String sqlWhereCont = 
         "LIKE ? AND recordings.recordingid = tracks.recordingid AND " +
         "artistsandperformers.artistid = tracks.artistid AND " +
         "audiostyles.audiostyleid = tracks.styleid";

  // constructor
  public Track() {}

  // methods to return different SQL strings for searching
  public static String getFindTrackTitleSql() {
    return sqlSelect + sqlFrom + sqlWhere + "tracks.tracktitle " +
           sqlWhereCont;
  } 
  public static String getFindRecordTitleSql() {
    return sqlSelect + sqlFrom + sqlWhere + "recordings.recordingtitle " +
           sqlWhereCont;
  } 

  public static String getFindArtistSql() {
    return sqlSelect + sqlFrom + sqlWhere +
           "artistsandperformers.artistname " + sqlWhereCont;
  } 

  // Prepare the class to query for rows in the database. The
  // PreparedStatement should be created using the SQL string obtained
  // by calling one of the getFindXXXSql() methods in this class.
  public void setQueryStatement(PreparedStatement ps) {
    preparedStmt = ps;
    create = false;
    retrieve = (ps != null ? true : false);
    update = false;
    delete = false;
  } 

  // execute the PreparedStatement
  private boolean executeSql() throws SQLException {
    if (create || update || delete) {
      int result = preparedStmt.executeUpdate();
      return (result == 1);
    } else if (retrieve) {
      resultSet = preparedStmt.executeQuery();
      results = new Vector();
      if (resultSet.next()) {
        Track track = new Track();
        track.populate(resultSet);
        results.add(track);
        return true;
      } 
      return false;
    } else {
      throw new SQLException("No PreparedStatement has been set.");
    } 
  } 

  // Find tracks that match a TrackTitle search string
  public Vector findByTrackTitle(String trackTitle) throws SQLException {
    preparedStmt.setString(1, "%" + trackTitle + "%");
    if (executeSql()) {
      parseResultSet();
    } 
    return results;
  } 

  // Find tracks that match a Recording Title search string
  public Vector findByRecordingTitle(String recordingTitle) 
                                     throws SQLException {
    preparedStmt.setString(1, "%" + recordingTitle + "%");
    if (executeSql()) {
      parseResultSet();
    } 
    return results;
  } 

  // Find tracks that match an Artist name search string
  public Vector findByArtistName(String artistName) throws SQLException {
    preparedStmt.setString(1, "%" + artistName + "%");
    if (executeSql()) {
      parseResultSet();
    } 
    return results;
  } 

  // Read each row in the ResultSet and create a Track instance from
  // the row
  private void parseResultSet() throws SQLException {
    try {
      while (resultSet.next()) {
        Track track = new Track();
        track.populate(resultSet);
        results.add(track);
      } 
    } finally {
      ConnectionFactory.close(resultSet);
    } 
  } 

  // initialize the datamembers of this class using data from the
  // current row of the ResultSet
  public void populate(ResultSet rset) throws SQLException {
    setRecordingId(rset.getInt("RECORDINGID"));
    setRecordingTitle(rset.getString("RECORDINGTITLE"));
    setTrackNumber(rset.getInt("TRACKNUMBER"));
    setTrackTitle(rset.getString("TRACKTITLE"));
    setArtistId(rset.getInt("ARTISTID"));
    setArtistName(rset.getString("ARTISTNAME"));
    setStyleId(rset.getInt("STYLEID"));
    setStyleName(rset.getString("AUDIOSTYLEDESCRIPTION"));
    setSampleFilespec(rset.getString("SAMPLEFILESPEC"));
  } 

  // Setters and Getters for the member variables

  public int getRecordingId() {
    return recordingId;
  } 
  public void setRecordingId(int v) throws SQLException {
    recordingId = v;
  } 

  public int getTrackNumber() {
    return trackNumber;
  } 
  public void setTrackNumber(int v) throws SQLException {
    trackNumber = v;
  } 

  public String getTrackTitle() {
    return trackTitle;
  } 
  public void setTrackTitle(String v) throws SQLException {
    trackTitle = v;
  } 

  public int getArtistId() {
    return artistId;
  } 
  public void setArtistId(int v) throws SQLException {
    artistId = v;
  } 

  public int getStyleId() {
    return styleId;
  } 
  public void setStyleId(int v) throws SQLException {
    styleId = v;
  } 

  public String getSampleFilespec() {
    return sampleFilespec;
  } 
  public void setSampleFilespec(String v) throws SQLException {
    sampleFilespec = v;
  } 

  public String getRecordingTitle() {
    return recordingTitle;
  } 
  public void setRecordingTitle(String v) {
    recordingTitle = v;
  } 

  public String getStyleName() {
    return styleName;
  } 
  public void setStyleName(String v) {
    styleName = v;
  } 

  public String getArtistName() {
    return artistName;
  } 
  public void setArtistName(String v) {
    artistName = v;
  } 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -