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 ...
随机推荐
- 应用程序 /dev/rtc 编程 获取时间 2011-12-13 01:01:06【转】
本文转载自:http://blog.chinaunix.net/uid-16785183-id-3040310.html 分类: 原文地址:应用程序 /dev/rtc 编程 获取时间 作者:yuwei ...
- [Codeforces 1013B] And
[题目链接] http://codeforces.com/problemset/problem/1013/B [算法] 不难发现,答案只有0,1,2,-1,共4种取值 分类讨论即可,计算时可以使用ST ...
- Oracle Instant Client 安装配置
一.下载 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 这是Ora ...
- unity3D 使用欧拉角控制视野注意点
变量声明: public PlayerInput p; //表示控制代码用来获得用户是否按下 public float rotateSpeed = 50f; //旋转速度 private GameOb ...
- Kettle环境变量配置
KETTLE_DIR=安装目录 KETTLE_HOME=安装目录 安装目录比如:D:\Kettle\pdi-ce-6.0.0.0-353\data-integration
- 基于移动Web的视图引擎实现
第一步:移动视图引擎实现 using System.Web.Mvc; /// <summary> /// 移动版View引擎 /// </summary> public cla ...
- hbase无法启动,The node /hbase is not in ZooKeeper
问题详细描述如下: 2016-12-09 15:10:39,160 ERROR [org.apache.hadoop.hbase.client.ConnectionManager$HConnectio ...
- JavaScript变量提升及作用域
今天在知乎看前端面试题的时候,看到这样的问题,发现自己懂的真的是太少了,看了给的例子,所以写一下自己的理解. 首先放一段代码: var v= “hello JavaScript”; alert(v); ...
- sphinx在windows下的简单安装与使用
1.下载地址 http://sphinxsearch.com/downloads/release/,我这里下的是“Win64 binaries w/MySQL+PgSQL+libstemmer+id6 ...
- QS之force(1)
force This command allows you to apply stimulus interactively to VHDL signals(not variables), Verilo ...