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制作oracle程序,Java程序操作Oracle两种方式之简单实现
Java程序操作Oracle两种方式之简单实现 1.通过JDBC-ODBC桥连接Oracle数据库 (1)创建odbc源,在控制面板->管理工具->数据源(odbc)中添加DSN,比如取名 ...
- java定时增量同步,一种可配置的定时数据同步方法与流程
本发明涉及数据交换技术,尤其涉及一种可配置的定时数据同步方法.解决企业内部异构系统之间的数据同步问题.主要利用计算机多线程技术.XML技术.数据库技术实现.具有简单配置.快速部署.灵活扩展的特点,并且 ...
- jdbc批量插入的4种方式【百万条数据插入只需几秒】
mysql数据库准备 #打开数据库test01; use test01; #创建表a,表a包含int型的id列.可变长度型的name[长度20个字符] create table a (id INT,N ...
- Java数据库连接(JDBC)之一:JDBC详细连接过程
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- 4.Java数据库连接_1.JDBC (Java DB Connection)简介
//============================================================================ Mysql安装参考: http://blo ...
- JDBC (Java DB Connection)---Java数据库连接
一:JDBC (Java DB Connection)-Java数据库连接 JDBC是一种可用于执行SQL语句的JAVA API(ApplicationProgramming Interface应用程 ...
- JAVA数据库连接(JDBS)
1.JDBS简介 JDBC(Java DataBase Connectivity), 即java数据库连接,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Ja ...
- day04 JDBC java数据库连接
day04 JDBC java数据库连接 yuxiaohu已关注 2017.12.03 16:12:19字数 139阅读 85 1 导包 mysql 提供的实现java接口的包路径 C:\Progra ...
- Java数据库连接池实现原理
https://blog.csdn.net/tuke_tuke/article/details/51532510 一般来说,Java应用程序访问数据库的过程是: ①装载数据库驱动程序: ②通过jdbc ...
最新文章
- 基于NPOI的Excel数据导入
- 光流Optical Flow介绍与OpenCV实现
- MSSQL 访问Mysql
- Spark On YARN 集群安装部署
- 使用yml多环境配置
- SQL Sever sa密码丢失
- 一个下课的时间带你手写promise!
- JavaScript 面向对象编程(三) —— 函数进阶 / 严格模式 / 高阶函数 / 闭包 / 浅拷贝和深拷贝
- Nginx+tomcat+memcached缓存共享session
- apache poi 修改docx表格_JAVA poi对word.docx文件的修改
- Windows USB驱动开发点滴积累备忘录
- 解决Git 克隆代码 The remote end hung up unexpectedly错误
- Javascript的防抖和节流、VUE的防抖和节流
- 浏览器加载、渲染过程总结
- 最全的搜索引擎入口和分类目录入口
- 计算机笔记检讨,上课没做笔记的反省检讨书范文550字
- MATLAB加柯西分布噪声图像和加柯西分布噪声图像直方图
- opencv怎么找到手指最高处
- 【JAVA】力扣第198场周赛代码+解题思路——【排名第 1 ~ 300 名的参赛者可获「微软中国」简历内推机会】做对前两道就能排到268/ 5778(4.6%)
- 一名优秀的数据分析师,应该具备哪些基本素质?
热门文章
- 计算c53的c语言的程序,C程序设计的常用算法.doc
- 关于synchronize与lock的区别
- 华为鸿蒙产业链股票,华为P40或用鸿蒙 华为产业链概念股一览
- 黑星什么意思_星月菩提黑星海南料什么意思
- python组合数据类型有哪些_Python学习之组合数据类型
- tensorflow2版本学习教程1-mnist数据集手写字体
- mysql的字符集编码_MySQL的字符编码设置
- 前端页面速度统计方法
- c++ 11新特性总结_JDK1.8新特性Stream和Collectors19个常用示例总结
- 光伏电站清扫机器人_光伏智能清扫机器人