代码描述:把前台获取的字段作为查询条件,返回符合条件的记录。

 1 package com.imooc.dao;
 2
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8 import java.util.ArrayList;
 9 import java.util.List;
10
11 import com.imooc.bean.Message;
12
13 /**
14  * 处理与数据库相关的查询操作
15  *
16  */
17 public class MessageDao {
18     public List<Message> queryMessageList(String command,String description){
19         List<Message> messageList = new ArrayList<Message>();
20         try {
21             Class.forName("com.mysql.jdbc.Driver");
22             Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/micro_message", "root", "admin");
23             // StringBuilder速度快适合单线程,StringBuffer适合多线程操作大量数据,String每次都是生成新对象,需要垃圾回收。
24             StringBuilder sb = new StringBuilder("select ID,COMMAND,DESCRIPTION,CONTENT from message where 1=1 ");
25             // String sql = "select ID,COMMAND,DESCRIPTION,CONTENT from message";
26             List<String> paramList = new ArrayList<String>();
27             if(null != command && !"".equals(command)){
28                 sb.append(" and COMMAND=?");
29                 paramList.add(command);
30             }
31             if(null != description && !"".equals(description)){
32                 // MySQL中用%表示任意字符,用空格用于连接
33                 sb.append(" and DESCRIPTION like '%' ? '%'");
34                 paramList.add(description);
35             }
36             PreparedStatement pstmt = conn.prepareStatement(sb.toString());
37             for(int i=0;i<paramList.size();i++){
38                 // 给PreparedStatement中预执行SQL语句追加值
39                 pstmt.setString(i+1, paramList.get(i));
40             }
41             ResultSet rs = pstmt.executeQuery();
42             while(rs.next()){
43                 Message message = new Message();
44                 messageList.add(message);// 这里messageList是个容器,只是对message的引用,所以可以提前放入容器中
45                 message.setId(rs.getString("ID"));
46                 message.setCommand(rs.getString("COMMAND"));
47                 message.setDescription(rs.getString("DESCRIPTION"));
48                 message.setContent(rs.getString("CONTENT"));
49             }
50     }catch (ClassNotFoundException e) {
51         e.printStackTrace();
52     }catch (SQLException e) {
53         e.printStackTrace();
54     }
55     return messageList;
56   }
57
58 }
59     

转载于:https://www.cnblogs.com/zplogo/p/5958016.html

Java通过JDBC连接MySQL数据库相关推荐

  1. jaba窗体连接mysql增删改查_知识实现——Java使用jdbc连接MySql数据库,实现增删改查...

    Java使用jdbc连接MySql数据库,实现增删改查 首先,导入MySql连接数据库的jar包,我用的是 mysql连接jar包 DB类,用于获得数据库连接 import java.sql.Driv ...

  2. java jdbc 连接mysql数据库,Java 通过JDBC连接Mysql数据库

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  3. 一、JAVA通过JDBC连接mysql数据库(连接)

    JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java ...

  4. JAVA使用JDBC连接MySQL数据库

    首先要下载Connector/J地址:http://www.mysql.com/downloads/connector/j/ 这是MySQL官方提供的连接方式: 解压后得到jar库文件,需要在工程中导 ...

  5. [转]Java 通过JDBC连接Mysql数据库的方法和实例【图文说明】

    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...

  6. JAVA的JDBC连接MYSQL数据库并查询数据

    目录 一.使用工具 1)MYSQL数据库 2)Navicat可视化软件 3)IDEA编译java工具 二.MYSQL里创建一个数据库 1)Navicat连接数据库 2)创建新的数据库和表 1.新建数据 ...

  7. jdba怎么连接mysql_一、JAVA通过JDBC连接mysql数据库(连接)

    JDBC ----JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java ...

  8. 我的第五个程序 java的JDBC连接mysql数据库 实现输入查询

    import java.sql.*; import java.util.Scanner;public class JDBCTest {public static void main(String[] ...

  9. (详细)JAVA使用JDBC连接MySQL数据库(1)- 软件

    欢迎任何形式的转载,但请务必注明出处. 本节为下面四个的安装和配置 jdk Eclipse MySQL mysql connectors 一.jdk 点击查看安装和环境配置教程 二.Eclipse 点 ...

最新文章

  1. UITableView刷新单个cell或者单个Section
  2. boost::hana::common用法的测试程序
  3. 揭开腾讯IDC节能环保黑科技
  4. LeetCode 2099. 找到和最大的长度为 K 的子序列
  5. 多元算力加持,华为云鲲鹏大数据服务公测上线
  6. 同宿舍的程序员毕业五年的现状:有人要当“螺丝钉”,有人头发掉光要出家...
  7. SCPPO(二十五):从导数据看如何将一天过出多天的效果
  8. git学习(七)新建远程仓库-Gitee为例
  9. 如何在html创建js对象,在js中使用createElement创建HTML对象和元素
  10. lazarus 中文教程_Lazarus中文版下载|Pascal编译器Lazarus下载 v1.6.0中文版(附使用教程)_星星软件园...
  11. 重磅!上海985教授当选!全球仅4人!
  12. conan入门(十九):封装第三方开源库cpp_redis示例
  13. Android开发 环境搭建(ubuntu)
  14. VBA 创建和使用加载项
  15. 三角形面积的两种计算方法
  16. 一个额外的小问题——关于jdk和Language level的关系
  17. Flutter 无法热重载
  18. Rust的面向对象(五)——面向对象
  19. ESP8266开发之旅 应用篇④ WiFi广告机
  20. Error starting daemon: error initializing graphdriver: driver not supported

热门文章

  1. 抓取网络文件的URL地址作附件发送
  2. C#2.0实例程序STEP BY STEP--实例二:数据类型
  3. 阿联酋gitex_航空公司网站不在乎您的隐私后续行动:阿联酋航空以以下方式回应我的文章:...
  4. javascript晚绑定_JavaScript的应用,调用和绑定通过托管野餐来解释
  5. mysql获取删除的条数_如何从mysql表中删除数百万条记录而不会减速
  6. java 获取init参数,Java如何读取servlet init参数?
  7. [python]目录及文件操作
  8. Android 在运行时请求权限
  9. 12 Java面向对象之多态
  10. dstat用法;利用awk求dstat所有列每列的和;linux系统监控