JAVA数据库连接的另一种实现及简单的数据插入及显示
教材是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数据库连接池的几种配置方法(以MySQL数据库为例)
Java数据库连接池的几种配置方法(以MySQL数据库为例) 一.Tomcat配置数据源: 前提:需要将连接MySQL数据库驱动jar包放进Tomcat安装目录中common文件夹下的lib目录中 1 ...
- JDBC(Java Data Base Connectivity,java数据库连接)
JDBC概述 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言 ...
- JDBC:(java database Connection) java数据库连接。
JDBC 指 Java 数据库连接,是一种标准Java应用编程接口( JAVA API),用来连接 Java 编程语言和广泛的数据库. JDBC连接步骤: 1.先导入jar包,把jar放入到工程下并 ...
- Java数据库连接池
转载过来的,最近在做一个小网站,准备使用这种方法. Java jdbc数据库连接池总结! 1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及, ...
- Java数据库连接——JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java数据库连接代码集合(转)
Java数据库连接接口(JDBC)是Java里定义的一套用于数据库连接和操作的API的集合.有不同的数据库厂商提供这套接口的实现类,对于 Java程序员来说,程序员不需要关心数据库的底层的实现,统一的 ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- Java数据库连接--JDBC调用存储过程,事务管理和高级应用
相关链接:Jdbc调用存储过程 一.JDBC常用的API深入详解及存储过程的调用 1.存储过程的介绍 我们常用的操作数据库语言SQL语句在执行的时候要先进行编译,然后执行,而存储过程是在大型数据库系统 ...
- MySQL 和 JDBC(Java数据库连接)
1.MySQL 1.1 MySQL简介 a)MySQL是一个开源免费的关系型数据库管理系统. b)默认用户:root c)默认端口号: 2.MySQL常用命令 2.1连接MySQL mysql ...
随机推荐
- poj 3662 Telephone Lines(最短路+二分)
Telephone Lines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6973 Accepted: 2554 D ...
- 使用 Polyfill 而不再是 bable 来实践js新特性
现状 我们想要用ES6 语法来写 JavaScript.然而由于我们需要兼容老版本的浏览器,那些浏览器不支持 ES6,我们需要解决这个问题. 有一个标准的做法是:写 ES6 代码 → 将所有代码编译成 ...
- CAS配置(1)SSL证书配置
一.配置源码 源码配置稍后提供 二.系统环境安装 安装JDK配置,版本>=1.7 环境变量配置(参考): JAVA_HOME=C:\Program Files x86)\Java\jdk1.7. ...
- POJ 2286 The Rotation Game IDA*
(再一次感谢学长幻灯片) ID A* 随便自己yy了一下. 额嗯 思路什么的都没有问题 就是改不对.. 无奈地删代码...边删边交. 删啊删 哎呦 AC了 ... ... ... 找删的那一段 . o ...
- A - Petya and Strings
Problem description Little Petya loves presents. His mum bought him two strings of the same size for ...
- 关于网站图片格式 png,jpg,
小图标用 png 采用无损压缩.可存储透明图片. 适合存储icon, logo 等颜色对比明显,又小的图片. 劣势:索引色数量有限,不适合大图片,颜色层次丰富. 大图片用 jpg 采用了压缩算法,会有 ...
- 关于EasyUI datagrid editor combogrid搜索框的实现
首先需要datagrid editor对combogrid的扩展,这个是别人实现的: $.extend($.fn.datagrid.defaults.editors, { combogrid: { i ...
- Spring Boot (13) druid监控
druid druid是和tomcat jdbc一样优秀的连接池,出自阿里巴巴.除了连接池,druid哈hi有一个很实用的监控功能. pom.xml 添加了以下依赖后,会自动用druid连接池替代默认 ...
- es优化收藏
Elasticsearch常用优化 https://www.cnblogs.com/zlslch/p/6478773.html Elasticsearch 基础理论 & 配置调优 http:/ ...
- android黑科技系列——分析某直播App的协议加密原理以及调用加密方法进行协议参数构造
一.前言 随着直播技术火爆之后,各家都出了直播app,早期直播app的各种请求协议的参数信息都没有做任何加密措施,但是慢慢的有人开始利用这个后门开始弄刷粉关注工具,可以让一个新生的小花旦分分钟变成网红 ...