精华内容
下载资源
问答
  • 1.JDBCUtils的模糊查询问题解决方法数据库jdbc工具类的模糊查询最核心的就是用like %内容%,但是我们对于界面输入进来的东西都是用?来替代的,那么就代表着我们不能吧%%写在问号旁边。否则就会报错。所以我是这样...

    1.JDBCUtils的模糊查询问题解决方法

    数据库jdbc工具类的模糊查询最核心的就是用like %内容%,但是我们对于界面输入进来的东西都是用?来替代的,那么就代表着我们不能吧%%写在问号旁边。否则就会报错。所以我是这样解决的。

    //模糊查询

    public List blurryFind(String sname, String sex) {

    QueryRunner qr = new QueryRunner(JDBCUtils_DBCP.getDataSource());

    String sql = "SELECT * FROM t_stu where sname like ? and sex = ?";

    Object[] param = {"%"+sname+"%",sex};

    List list = null;

    try {

    list = qr.query(sql,new BeanListHandler(Student.class),param);

    } catch (SQLException e) {

    System.out.println(e);

    throw new RuntimeException("模糊查询失败");

    }

    return list;

    }

    这样写就能解决%%的报错问题了,同时还能使用模糊查询功能。

    展开全文
  • 一、目标效果 ...两个输入框都能单一和配合查询,描述支持模糊查询。   可以直接跳到末尾查看动图效果 二、工作准备 1、涉及的知识点 JDBCJSPJSTLServletEL 2、jar 包准备 mysql-connec

    一、目标效果

    1、能实现对数据库中的数据进行打印


    这里的数据来自于数据库手动添加,暂时没有数据添加页面。隔行换色需要实现。

    2、输入框能够实现查询工作


    两个输入框都能单一和配合查询,描述支持模糊查询。

     

    可以直接跳到末尾查看动图效果

    二、工作准备

    1、涉及的知识点

    2、jar 包准备

    • mysql-connector-java-5.1.41-bin.jar
    • jstl.jar
    • standard.jar
    • servlet-api.jar

    3、开发工具

    • IntelliJ IDEA
    • Navicat Premium

     

    三、代码实现

    1、新建数据库,micro_message。再建一个表,message。表的结构如下

    JDBC+Servlet+JSP实现简单的数据遍历和查找功能

     

    2、新建 Web 项目 MicroMessage

    3、新建包

    com.liuyanzhao.bean,存放实体类

    com.liuyanzhao.servlet,存放Servlet类,实现控制,要调用 service 类

    com.liuyanzhao.dao,存放数据库操作类,增查改查等方法

    com.liuyanzhao.service,存放业务功能类,调用 dao 类,返回一个数据集合

     

    4、在 WEB-INF 下新建一个 lib 文件夹,放 jar 包,然后将 jar 包添加到环境(path)中

    注意:Eclipse只需要右键 Build path;

    IntelliJ IDEA 可以快捷键 Ctrl+Alt+Shift+S 打开下图,选择指定项目点击右边的绿色的 + ,添加 jar包到环境中


     

    5、依次按顺序新建下面文件

    ① com.liuyanzhao.bean 下新建 Message.java

    1. package com.liuyanzhao.bean;
    2. /**
    3.  * 与消息对应的实体类
    4.  */
    5. public class Message {
    6.     private int id;
    7.     private String command;
    8.     private String description;
    9.     private String content;
    10.     public Message() {
    11.     }
    12.     public int getId() {
    13.         return id;
    14.     }
    15.     public void setId(int id) {
    16.         this.id = id;
    17.     }
    18.     public String getCommand() {
    19.         return command;
    20.     }
    21.     public void setCommand(String command) {
    22.         this.command = command;
    23.     }
    24.     public String getDescription() {
    25.         return description;
    26.     }
    27.     public void setDescription(String description) {
    28.         this.description = description;
    29.     }
    30.     public String getContent() {
    31.         return content;
    32.     }
    33.     public void setContent(String content) {
    34.         this.content = content;
    35.     }
    36. }

     

    ② com.liuyanzhao.servlet 下新建 ListServlet.java

    1. package com.liuyanzhao.servlet;
    2. import com.liuyanzhao.service.ListService;
    3. import javax.servlet.ServletException;
    4. import javax.servlet.http.HttpServlet;
    5. import javax.servlet.http.HttpServletRequest;
    6. import javax.servlet.http.HttpServletResponse;
    7. import java.io.IOException;
    8. /**
    9.  * 列表页面初始化控制
    10.  */
    11. public class ListServlet extends HttpServlet {
    12.     @Override
    13.     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    14.         //解决乱码
    15.         request.setCharacterEncoding("utf-8");
    16.         //接受表单内容
    17.         String command = request.getParameter("command");
    18.         String description = request.getParameter("description");
    19.         //向页面传值
    20.         request.setAttribute("command",command);
    21.         request.setAttribute("description",description);
    22.         //业务需要
    23.         ListService listService = new ListService();
    24.         //查询消息列表并传给页面
    25.         request.setAttribute("messageList",listService.queryMessageList(command,description));
    26.         //向页面跳转
    27.         request.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(request,response);
    28.     }
    29.     @Override
    30.     protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    31.         this.doGet(req, resp);
    32.     }
    33. }

     

    ③ 在WEB-INF 下 新建 web.xml,给 Listservlet 类添加映射

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4.          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
    5.          version="3.1">
    6.     <servlet>
    7.         <servlet-name>ListServlet</servlet-name>
    8.         <servlet-class>com.liuyanzhao.servlet.ListServlet</servlet-class>
    9.     </servlet>
    10.     <servlet-mapping>
    11.         <servlet-name>ListServlet</servlet-name>
    12.         <url-pattern>/List.action</url-pattern>
    13.     </servlet-mapping>
    14. </web-app>

     

    ④ 在 WEB-INF 下新建一个文件夹 名 jsp,在 jsp内新建一个文件夹 名back,在 back 下新建 list.jsp

    1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3. <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    4. <%
    5.     String path = request.getContextPath();
    6.     String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    7. %>
    8. <html xmlns="http://www.w3.org/1999/xhtml">
    9. <head>
    10.     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    11.     <meta http-equiv="X-UA-Compatible"content="IE=9IE=8IE=7IE=EDGE/>
    12.     <title>内容列表页面</title>
    13.     <link href="<%=basePath%>resources/css/all.css" rel="stylesheet" type="text/css" />
    14. </head>
    15. <body style="background: #e1e9eb;">
    16. <form action="<%=basePath%>List.action" id="mainForm" method="post">
    17.     <div class="right">
    18.         <div class="current">当前位置:<a href="javascript:void(0)" style="color:#6E6E6E;">内容管理</a> &gt; 内容列表</div>
    19.         <div class="rightCont">
    20.             <p class="g_title fix">内容列表 <a class="btn03" href="#">新 增</a>&nbsp;&nbsp;&nbsp;&nbsp;<a class="btn03" href="#">删 除</a></p>
    21.             <table class="tab1">
    22.                 <tbody>
    23.                 <tr>
    24.                     <td width="90" align="right">指令名称:</td>
    25.                     <td>
    26.                         <input name="command" type="text" class="allInput" value="${command}"/>
    27.                     </td>
    28.                     <td width="90" align="right">描述:</td>
    29.                     <td>
    30.                         <input name="description" type="text" class="allInput" value="${description}"/>
    31.                     </td>
    32.                     <td width="85" align="right"><input type="submit" class="tabSub" value="查 询" /></td>
    33.                 </tr>
    34.                 </tbody>
    35.             </table>
    36.             <div class="zixun fix">
    37.                 <table class="tab2" width="100%">
    38.                     <tbody>
    39.                     <tr>
    40.                         <th><input type="checkbox" id="all" onclick="#"/></th>
    41.                         <th>序号</th>
    42.                         <th>指令名称</th>
    43.                         <th>描述</th>
    44.                     </tr>
    45.                     <c:forEach items="${messageList}" var="message" varStatus="status">
    46.                         <tr <c:if test="${status.index % 2!= 0}">style="background-color:#ECF6EE;"</c:if>>
    47.                             <td><input type="checkbox" /></td>
    48.                             <td>${status.index+1}</td>
    49.                             <td>${message.command}</td>
    50.                             <td>${message.description}</td>
    51.                         </tr>
    52.                     </c:forEach>
    53.                     </tbody>
    54.                 </table>
    55.             </div>
    56.         </div>
    57.     </div>
    58. </form>
    59. </body>
    60. </html>

    注意:

    • jsp 中的css样式和图片这里就不添加了,这里主要还是学习 JavaWeb,主要还是 看 form 标签之前的内容
    • 第四行的 jstl 核心库
    • bathPath 是获得 根目录的路径,即 index.php的路径
    • ${command} 和 ${description} 是 EL 表达式,通过 Servlet 传值
    • <c:forEach> 和 <c:if> 都是 jstl 的内容

     

    ⑤ com.liuyanzhao.dao 下新建 MessageDao.java

    1. package com.liuyanzhao.dao;
    2. import com.liuyanzhao.bean.Message;
    3. import java.sql.*;
    4. import java.util.ArrayList;
    5. import java.util.List;
    6. /**
    7.  * 和message表相关的操作
    8.  */
    9. public class MessageDao {
    10.     /**
    11.      * 根据查询条件查询消息列表
    12.      */
    13.     public List<Message> queryMessageList(String command,String description) {
    14.         List<Message> messageList = new ArrayList<Message>();
    15.         //数据库连接
    16.         try {
    17.             Class.forName("com.mysql.jdbc.Driver");
    18.             Connection conn = null;
    19.             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/micro_message" +
    20.                 "?useUnicode=true&characterEncoding=utf8","root","");
    21.             StringBuilder sql = new StringBuilder(" SELECT id,command,description,content FROM message where 1=1 ");
    22.             List<String> paramList = new ArrayList<String>();
    23.             if(command != null && !"".equals(command.trim())) {
    24.                 sql.append(" and command=? ");
    25.                 paramList.add(command);
    26.             }
    27.             if(description != null && !"".equals(description.trim())) {
    28.                 sql.append(" and description like '%' ? '%' ");
    29.                 paramList.add(description);
    30.             }
    31.             PreparedStatement ptmt = conn.prepareStatement(sql.toString());
    32.             for (int i=0;i<paramList.size();i++) {
    33.                 ptmt.setString(i+1,paramList.get(i));
    34.             }
    35.             ResultSet rs =  ptmt.executeQuery();
    36.             while (rs.next()) {
    37.                 Message message = new Message();
    38.                 messageList.add(message);
    39.                 message.setId(rs.getInt("id"));
    40.                 message.setCommand(rs.getString("command"));
    41.                 message.setDescription(rs.getString("description"));
    42.                 message.setContent(rs.getString("content"));
    43.             }
    44.         } catch (ClassNotFoundException e) {
    45.             e.printStackTrace();
    46.         } catch (SQLException e) {
    47.             e.printStackTrace();
    48.         }
    49.         return messageList;
    50.     }
    51. }

    注意:

    • 第 27 行,SELECT 所有要查询的字段,不要用 SELECT *
    • sql 语句最好前后都加个 空格,因为空格是分隔符
    • 第 35 行,模糊查询处,问号的两边别忘了加空格
    • messageList 定义在 try 外面,防止异常出现,空指针
    • 因为我们查询的是不是单条语句,是多条的,所以用集合,而不用对象

     

    ⑥ com.liuyanzhao.service 下新建 ListService.java

    1. package com.liuyanzhao.service;
    2. import com.liuyanzhao.bean.Message;
    3. import com.liuyanzhao.dao.MessageDao;
    4. import java.util.List;
    5. /**
    6.  *列表相关的业务功能
    7.  */
    8. public class ListService {
    9.     public List<Message> queryMessageList(String command, String description) {
    10.         MessageDao messageDao = new MessageDao();
    11.         return messageDao.queryMessageList(command,description);
    12.     }
    13. }

     

    四、运行程序

    1、配置 Tomcat 服务器,并启动

    2、运行结果如下


     

     

    本文地址:https://liuyanzhao.com/5502.html

    展开全文
  • Mybatis数据库乱码

    2020-08-01 21:14:56
    Mybatis操作数据库字符串模糊查询可能会因为编码问题查找不到相应记录 解决方法:在配置文件URL加上?characterEncoding=UTF-8 <property name="url" value="jdbc:mysql://localhost:3306/mybatis?...

    Mybatis操作数据库字符串模糊查询可能会因为编码问题查找不到相应记录
    解决方法:在配置文件URL加上?characterEncoding=UTF-8

    <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF-8"/>
    
    展开全文
  • 就在想如何使用hibernate搭建,之前从没有接触过该数据库,最近一、两天在网上一直在查找如何搭建的步骤可是都很模糊,说jdbc的方式,odbc的方式都有,我感觉不怎么好理解,一直到今天我才搭建出来,脑袋瓜子都疼了...

    使用Hibernate搭建Access数据库步骤

    最近要开发一个公司网站项目所用数据库为Access数据库,就在想如何使用hibernate搭建,之前从没有接触过该数据库,最近一、两天在网上一直在查找如何搭建的步骤可是都很模糊,说jdbc的方式,odbc的方式都有,我感觉不怎么好理解,一直到今天我才搭建出来,脑袋瓜子都疼了(其实应该说我笨O(∩∩)O哈哈哈~),在提问区我也有提问过可是没人理我这个菜鸟(~(><)~),所以今天就把搭建教程记录下来方便以后想起,或给其他人参考。

    进入正题

    第一步

    下载搭建Access的Jar包
    [Access_JDBC30.jar](https://pan.baidu.com/s/1nvvBldJ) 密码:5akt (最近听说C币贬值了,所以我就把这个共享到网盘了)给大家省省下载积分。
    下载好后把jar包放入置项目的lib目录下
    

    这里写图片描述

    第二步

    然后就开始用 DB Browser 配置数据库信息
    

    这里写图片描述

    填入相关信息及Jar包 地址格式按照 jdbc:Access:///Access数据库地址
    

    这里写图片描述

    第三步

      给项目添加Hibernate框架 
    

    这里写图片描述

    直接都上图了大家看图吧!

    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述

    标到此为止今天的Hibernate搭建Access数据库就大功告成了!


    如果小伙伴们对搭建Access数据库还有问题可以问我哦!

    第一次发,如果那里有错还请大神们批正,在此谢谢了!

    注意:此稿是原创,如果需要转发请备注转发地址,谢谢各位大神的光顾!

    展开全文
  • 最近公司系统中全模糊查询很多,数据量又大,多表连接...通过一番查找,决定使用elasticsearch-jdbc进行数据的同步,五六张表的连接结果,在数据量小的开发与测试环境运行正常,但在数据量比较大的性能测试环境做数...
  • 使用MyBatis查询数据的时候其它sql语句都能正常查询与操作数据库,但是模糊查询不能查找到数据,直接运行sql语句可以查询到数据,经查找资料找到一种解决办法:mybatis配置数据库连接的url处加上编码格式在这里插入 ...
  • 对一个老项目进行改造,数据库用的是jdbc+strus1,其中一个表中的老数据将近1W条,内容存在CLOB中,文字几乎都是上千,做了一个全文模糊查找,第一个感觉是必须用lucene这个专业的搜索引擎技术来弄,后来经理说不必...
  • MySQL常用命令.md

    2020-11-27 08:20:07
    链接数据库 ## -h/-u这些后面没有空格 ... 查看建表语句 show create table [table_name] ...模糊查找表名 show tables like '%aaa%'; client链接mysql的常用参数 jdbc:mysql://127.0.0.1:3306/mubiao?useUnicod...
  • 也支持模糊查找生成哪几个表的Bean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有备注了! 更重要的是所有的配置都能被保存到本地,只要配置过一次,下次使用只要点一下生成JavaBean,下一秒就能...
  • 实例238 优雅的JDBC代码 实例239 结果集与Bean列表 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第...
  • 实例238 优雅的JDBC代码 实例239 结果集与Bean列表 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第...
  • 实例238 优雅的JDBC代码 实例239 结果集与Bean列表 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第...
  • 实例238 优雅的JDBC代码 实例239 结果集与Bean列表 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第...
  • 实例238 优雅的JDBC代码 实例239 结果集与Bean列表 实例240 编写MD5查看器 实例241 基于Base64编码 实例242 基于Base64解码 实例243 发送简单的Email 实例244 发送带附件的Email 实例245 读取XML文件属性 第...
  • 实例238 优雅的JDBC代码 299 实例239 结果集与Bean列表 301 实例240 编写MD5查看器 302 实例241 基于Base64编码 304 实例242 基于Base64解码 305 实例243 发送简单的Email 306 实例244 发送带附件的Email 308 实例...
  • 实例238 优雅的JDBC代码 299 实例239 结果集与Bean列表 301 实例240 编写MD5查看器 302 实例241 基于Base64编码 304 实例242 基于Base64解码 305 实例243 发送简单的Email 306 实例244 发送带附件的Email 308 实例...
  • 实例238 优雅的JDBC代码 299 实例239 结果集与Bean列表 301 实例240 编写MD5查看器 302 实例241 基于Base64编码 304 实例242 基于Base64解码 305 实例243 发送简单的Email 306 实例244 发送带附件的Email 308 实例...
  • 实例238 优雅的JDBC代码 299 实例239 结果集与Bean列表 301 实例240 编写MD5查看器 302 实例241 基于Base64编码 304 实例242 基于Base64解码 305 实例243 发送简单的Email 306 实例244 发送带附件的Email 308 实例...
  • 注意:本系统采用jdbc:odbc方式连接的数据库,需要在运行前设置数据源,数据源的名称是xwfb,路径附加好的sqlserver数据库 测试管理员帐号和密码: admin 198517 测试用户帐号和密码: linjian 198517
  • 注意:本系统采用jdbc:odbc方式连接的数据库,需要在运行前设置数据源,数据源的名称是xwfb,路径附加好的sqlserver数据库 测试管理员帐号和密码: admin 198517 测试用户帐号和密码: linjian 198517
  • Java语言基础下载

    热门讨论 2010-09-07 21:56:38
    查找算法: 234 排序算法: 237 递归(recursive): 240 快速排序: 242 内容总结 245 独立实践 246 第十五章:数据结构与算法(下) 247 学习目标 247 数据结构介绍: 248 数组 248 逻辑大小和物理大小 248 链表 248...
  • 9.6 使用MAX或MIN 函数查找行 161 9.7 优先级和圆括号的应用 163 9.8 小结 164 第10章 日期:过去、现在及日期的差 165 10.1 日期算法 165 10.1.1 SYSDATE 、CURRENT_DATE及SYSTIMESTAMP 166 10.1.2 两个日期...
  • -- 根据用户名称模糊查询用户信息,可能返回多条 resultType:指定就是单条记录所映射的java对象 类型 ${}:表示拼接sql串,将接收到参数的内容不加任何修饰拼接在sql中。 使用${}拼接sql,引起 sql注入 ${...
  • 可以在右上角的search-box选择查询条件,输入关键字进行对应信息的模糊查找。 session过期跳转登录 用户登录后,会建立相应的session,系统默认过期时间为10分钟,若需更改,可在applicationContext-shiro.xml...
  • private JRadioButton jrbbh=new JRadioButton("按学号查找",false); private ButtonGroup bg=new ButtonGroup();//单选按钮组 private JPanel jpbr=new JPanel();//单选按钮面板 private JPanel jpyInfo=...
  • 实例176 在Servlet中使用JDBC访问数据库 实例177 利用Servlet访问数据库连接池 实例178 Servlet实现的个人所得税计算器 实例179 利用Servlet实现用户永久登录 第7章 过滤器与监听器技术 7.1 Servlet过滤器 ...
  • 实例176 在Servlet中使用JDBC访问数据库 实例177 利用Servlet访问数据库连接池 实例178 Servlet实现的个人所得税计算器 实例179 利用Servlet实现用户永久登录 第7章 过滤器与监听器技术 7.1 Servlet过滤器 ...
  • java范例开发大全(pdf&源码)

    热门讨论 2013-07-04 13:04:40
    实例213 二分查找法的实现方法 377 实例214 模拟操作系统的进程调度 379 实例215 利用栈将字符串逆序输出 381 实例216 动态的数组链表 382 实例217 你能猜出鱼是谁的宠物吗? 387 实例218 使用Collections类对List的...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
     实例213 二分查找法的实现方法 377  实例214 模拟操作系统的进程调度 379  实例215 利用栈将字符串逆序输出 381  实例216 动态的数组链表 382  实例217 你能猜出鱼是谁的宠物吗? 387  实例218 使用...

空空如也

空空如也

1 2
收藏数 34
精华内容 13
关键字:

数据库模糊查找jdbc