zl程序教程

您现在的位置是:首页 >  后端

当前栏目

JAVA数据库连接的另一种实现及简单的数据插入及显示

JAVA数据库连接数据 实现 简单 显示 一种
2023-09-14 08:59:37 时间

教材是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实现图书管理系统 本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建 如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面
Java实现拼图小游戏(7)—— 计步功能及菜单业务的实现 注意由于我们计步功能的步数要在重写方法中用到,所以不能将初始化语句写在方法体内,而是要写在成员位置。在其名字的时候也要做到“见名知意”,所以我们给它起名字为step
Java实现拼图小游戏(7)—— 作弊码和判断胜利 当我们好不容易把拼图复原了,但是一点提示也没有,完全看不出来是成功了,那么我们就需要有判断胜利的功能去弹出“成功”类的图片,以便于玩家选择是重新开始还是退出小游戏