JAVA資料庫連接的另一種實現及簡單的資料插入及顯示

來源:互聯網
上載者:User

標籤:

教材是JDK8的,家裡也可以正規的測試JDK8,

但公司電腦是JDK6的,所以代碼要相應的變動一下下,以適應老的TRY語句。

Message.java

package cc.openhome;import java.io.Serializable;public class Message implements Serializable {    private Long id;    private String name;    private String email;    private String msg;        public Message() {}    public Message(String name, String email, String msg) {        this.name = name;        this.email = email;        this.msg = msg;    }        public String getEmail(){        return email;    }    public void setEmail(String email) {        this.email = email;    }        public Long getId() {        return id;    }    public void setId(Long id) {        this.id = id;    }        public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    }        public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }}    

 

MessageDAO.java

package cc.openhome;import java.sql.*;import java.util.*;public class MessageDAO {    private String url;    private String user;    private String passwd;    public MessageDAO(String url, String user, String passwd) {        this.url = url;        this.user = user;        this.passwd = passwd;    }    public void add(Message message) {        try {            Connection conn = DriverManager.getConnection(url, user, passwd);            Statement statement = conn.createStatement();            statement.executeUpdate(                "INSERT INTO t_message(name, email, msg) VALUES(‘"                + message.getName() + "‘, ‘"                + message.getEmail() + "‘, ‘"                + message.getMsg() + "‘)");        } catch (SQLException e) {            throw new RuntimeException(e);        }    }        public List<Message> get() {            List<Message> messages = null;            try {                Connection conn = DriverManager.getConnection(url, user, passwd);                Statement statement = conn.createStatement();                ResultSet result = statement.executeQuery(                    "SELECT * FROM t_message");                    messages = new ArrayList<Message>();                    while(result.next()) {                        Message message = new Message();                        message.setId(result.getLong(1));                        message.setName(result.getString(2));                        message.setEmail(result.getString(3));                        message.setMsg(result.getString(4));                        messages.add(message);                    }                } catch (SQLException e) {                    throw new RuntimeException(e);                }            return messages;        }    }

 

MessageDAODemo.java

package cc.openhome;import java.util.Scanner;public class MessageDAODemo {    public static void main(String args[]) throws Exception {        Scanner scanner = new Scanner(System.in);        MessageDAO dao = new MessageDAO(            "jdbc:mysql://1.2.3.4:3306/demo?" +            "useUnicode=true&characterEncoding=UTF8",            "user", "pwd");        while (true) {            System.out.print("(1) Show Message (2) Add Message: ");            switch(Integer.parseInt(scanner.nextLine())) {                case 1:                    for (Message message : dao.get()) {                        System.out.printf("%d\t%s\t%s\t%s%n",                            message.getId(),                            message.getName(),                            message.getEmail(),                            message.getMsg());                        }                        break;                case 2:                System.out.print("Name: ");                String name = scanner.nextLine();                System.out.print("Email: ");                String email = scanner.nextLine();                System.out.print("Message: ");                String msg = scanner.nextLine();                dao.add(new Message(name, email, msg));            }        }    }}

 

注意編譯命令的先後順序(何時帶-d. 何時帶-cp . 何時需要引用MYSQL的jdbc驅動和自己的類;)

JAVA資料庫連接的另一種實現及簡單的資料插入及顯示

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.