Ein einfaches CRUD-Beispiel mit Java Servlet / JSP und MySQL

Erstellen Sie eine Datenbank und eine Tabelle mit MySQL

CREATE DATABASE LEARNING;
USE  LEARNING;
CREATE TABLE `hero` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) DEFAULT NULL,
  `hp` float DEFAULT NULL,
  `damage` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

Bohnenprobe

package bean;
public class Hero {
    public int id;
    public String name;
    public float hp;
    public int damage;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public float getHp() {
        return hp;
    }
    public void setHp(float hp) {
        this.hp = hp;
    }
    public int getDamage() {
        return damage;
    }
    public void setDamage(int damage) {
        this.damage = damage;
    }
     
}

DAO-Klassenprobe

package dao;



import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import bean.Hero;

/**
 *Bietet CRUD-Methoden
 *
 * @auther baobaochu
 * @create 2017/6/20
 */
public class HeroDAO {
    static String ip = "127.0.0.1";
    static int port = 3306;
    static String database = "LEARNING";
    static String encoding = "UTF-8";
    static String loginName = "root";
    static String password = "*****";

    static {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static Connection getConnection() throws SQLException {
        String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", ip, port, database, encoding);
        return DriverManager.getConnection(url, loginName, password);
    }

    public int getTotal(){
        int total = 0;
        try (Connection c = getConnection(); Statement s = c.createStatement();) {

            String sql = "select count(*) from hero";

            ResultSet rs = s.executeQuery(sql);
            while (rs.next()) {
                total = rs.getInt(1);
            }

            System.out.println("total:" + total);

        } catch (SQLException e) {

            e.printStackTrace();
        }
        return total;

    }

    public void add(Hero hero) {

        String sql = "insert into hero values(null,?,?,?)";
        try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {

            ps.setString(1, hero.name);
            ps.setFloat(2, hero.hp);
            ps.setInt(3, hero.damage);

            ps.execute();

            ResultSet rs = ps.getGeneratedKeys();
            if (rs.next()) {
                int id = rs.getInt(1);
                hero.id = id;
            }
        } catch (SQLException e) {

            e.printStackTrace();
        }
    }

    public void update(Hero hero) {

        String sql = "update hero set name= ?, hp = ? , damage = ? where id = ?";
        try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {

            ps.setString(1, hero.name);
            ps.setFloat(2, hero.hp);
            ps.setInt(3, hero.damage);
            ps.setInt(4, hero.id);

            ps.execute();

        } catch (SQLException e) {

            e.printStackTrace();
        }

    }

    public void delete(int id) {

        try (Connection c = getConnection(); Statement s = c.createStatement();) {

            String sql = "delete from hero where id = " + id;

            s.execute(sql);

        } catch (SQLException e) {

            e.printStackTrace();
        }
    }

    public Hero get(int id) {
        Hero hero = null;

        try (Connection c = getConnection(); Statement s = c.createStatement();) {

            String sql = "select * from hero where id = " + id;

            ResultSet rs = s.executeQuery(sql);

            if (rs.next()) {
                hero = new Hero();
                String name = rs.getString(2);
                float hp = rs.getFloat("hp");
                int damage = rs.getInt(4);
                hero.name = name;
                hero.hp = hp;
                hero.damage = damage;
                hero.id = id;
            }

        } catch (SQLException e) {

            e.printStackTrace();
        }
        return hero;
    }

    public List<Hero> list() {
        return list(0, Short.MAX_VALUE);
    }

    public List<Hero> list(int start, int count) {
        List<Hero> heros = new ArrayList<Hero>();

        String sql = "select * from hero order by id desc limit ?,? ";

        try (Connection c = getConnection(); PreparedStatement ps = c.prepareStatement(sql);) {

            ps.setInt(1, start);
            ps.setInt(2, count);

            ResultSet rs = ps.executeQuery();

            while (rs.next()) {
                Hero hero = new Hero();
                int id = rs.getInt(1);
                String name = rs.getString(2);
                float hp = rs.getFloat("hp");
                int damage = rs.getInt(4);
                hero.id = id;
                hero.name = name;
                hero.hp = hp;
                hero.damage = damage;
                heros.add(hero);
            }
        } catch (SQLException e) {

            e.printStackTrace();
        }
        return heros;
    }



}

Recommended Posts

Ein einfaches CRUD-Beispiel mit Java Servlet / JSP und MySQL
Erstellen Sie eine Memo-App mit Tomcat + JSP + Servlet + MySQL mit Eclipse
Erstellen Sie mit Java + MySQL ein einfaches Bulletin Board
CICS-Java-Anwendung ausführen- (1) Führen Sie eine einfache Beispielanwendung aus
[Java] Ich habe versucht, über den Verbindungspool eine Verbindung mit Servlet (Tomcat) & MySQL & Java herzustellen
[Java] Ich habe JDBC installiert und versucht, eine Verbindung mit Servlet + MySQL herzustellen. (Es gibt eine Version mit DAO / Bean)
So konvertieren Sie A in a und a in A mit logischem Produkt und Summe in Java
Erstellen Sie ein Java-Servlet und eine JSP-WAR-Datei für die Bereitstellung auf Apache Tomcat 9 mit Gradle
So stellen Sie eine einfache Java-Servlet-App auf Heroku bereit
[Für mich] Browseranzeige mit JSP-Dateien und Servlet-Klassen
[JSP, Servlet] Starten Sie ein neues Projekt und überprüfen Sie die Verbindung!
Zeichnen einer Java-Servlet / JSP-Ansicht
Gründe, Servlet und JSP in der Java-Entwicklung getrennt zu verwenden
Socket-Kommunikation mit einem Webbrowser über Java und JavaScript ②
Machen Sie einen Diamanten mit Java
Ich habe mit Spring Boot ein einfaches MVC-Beispielsystem erstellt
Vergleich der WEB-Anwendungsentwicklung mit Rails und Java Servlet + JSP
Java Servlet / JSP-Anforderungsbereich Teil 1
3 Implementieren Sie einen einfachen Interpreter in Java
Java Servlet / JSP-Anforderungsbereich Teil 2
Java 9 neue Funktionen und Beispielcode
Ein Beispielservlet zum Herunterladen von Excel.
Erstellen Sie ein Java-Projekt mit Eclipse
[MySQL] [Java] Datum und Uhrzeit empfangen
Beispielcode mit Minio aus Java
Erstellen Sie eine einfache CRUD mit SpringBoot + JPA + Thymeleaf ② ~ Bildschirm- und Funktionserstellung ~
Java-Anfänger haben versucht, mit Spring Boot eine einfache Webanwendung zu erstellen
[Java] Erstellen und Anwenden eines Folienmasters
Ein Blick auf Jenkins, OpenJDK 8 und Java 11
Stellen Sie mit Eclipse eine Verbindung von Java zu MySQL her
Ein Java-Ingenieur verglich Swift, Kotlin und Java.
Zusammenarbeit zwischen Java und Derby mit JDBC (mit NetBeans)
Implementieren Sie eine einfache CRUD mit Go + MySQL + Docker
Hallo Welt mit Java Servlet und JSP (Einfacher Start des Webservers mit Maven + Jetty)
Bei Verwendung einer Liste in Java wird java.awt.List ausgegeben und ein Fehler tritt auf
Ein einfaches CRUD-Beispiel mit Java Servlet / JSP und MySQL
Erhalten Sie Wettervorhersagen von Watson Weather Company Data mit einer einfachen JSP
Führen Sie ein einfaches Modell aus, das mit Keras unter iOS mit CoreML erstellt wurde
Erstellen Sie einen einfachen Gateway-Server, indem Sie die Maskerade mit der Firewall-cmd von CentOS8 festlegen