Java中实现连接数据库并进行查询
首先我们在在File中选择new在选择java project在任意取一个名字,如图:
选择才创建的项目userManager,在src下分别创建dao包,DBHelper包(可直接在其他项目中把它复制过来),entity包和servlet包,如图:
打开entity,在它下面new一个class,命名为User,然后定义三个变量代码如下:
package entity;public class User {private String userID;private String username;private String userword;public String getUserID() {return userID;}public void setUserID(String userID) {this.userID = userID;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getUserword() {return userword;}public void setUserword(String userword) {this.userword = userword;}}
打开DAO,在它下面new一个class,命名为Userdao,代码如下:
package dao;import java.util.*;
import java.sql.*;import entity.*;
import DBHelper.*;public class Userdao {public List getAllUser() {String SQL = "SELECT * FROM user";ResultSet rs = DBHelper.getResultSet(SQL);return tools.ResultSettoList(rs, User.class);// try{// String SQL="SELECT*FROM user";// ResultSet rs= DBHelper.getResultSet(SQL);// List users=new ArrayList();// while(rs.next())// {// User u=new User();// u.setUserID(rs.getString("userID"));// u.setUsername(rs.getString("userName"));// u.setUserword(rs.getString("password"));// users.add(u);// }// return users;// }catch(Exception ex){return null;// }//}public boolean insert(User u){String SQL="INSERT INTO user(userID,username,userword) VALUES(?,?,?)";Object[] params=new Object[]{u.getUserID(),u.getUsername(),u.getUserword()};int n=DBHelper.ExecSql(SQL,params);if(n>0) return true;else return false;}public boolean update(User u){String sql="update user set username=?,userword=? where userID=?";Object[] obj=new Object[]{u.getUsername(),u.getUserword(),u.getUserID()};int rs=DBHelper.ExecSql(sql,obj);if(rs==1)return true;elsereturn false;}public boolean delete(User u){String sql="delete from user where userID=?";Object[] obj=new Object[]{u.getUserID()};int rs=DBHelper.ExecSql(sql,obj);if(rs==1)return true;elsereturn true;}}
接着还需要在DAO下创建一个类,命名为testdao,用于测试Userdaobao的代码,代码如下:
package dao;import java.sql.SQLException;
import java.util.List;import entity.User;public class testDAO {public static void main(String[] args) throws SQLException {
// TODO Auto-generated method stub
// 测试查询
// Userdao dao= new Userdao();
// List list =dao.getAllUser();
// System.out.println(list.size());
// 测试添加:Userdao dao=new Userdao();User u= new User();
// u.setUserID("d");
// u.setUsername("d");
// u.setUserword("d");
// dao.insert(u);
//
// 测试删除:
// u.setUserID("d");
// dao.delete(u);
// System.out.println("u");
// 测试修改u.setUserID("c");u.setUserword("q");u.setUsername("q");dao.update(u);System.out.println("u");}}
打开servlet,在它下面new一个servlet,命名为UserServlet,把 pageEncoding改成UTF0-8;删除doGet和doPost里的内容,doGet和doPost里的代码如下:
package servlet;import java.io.*;
import java.util.*;import javax.servlet.*;
import javax.servlet.http.*;import dao.*;
import entity.*;
import DBHelper.*;
public class Userservlet extends HttpServlet {/*** Constructor of the object.*/public Userservlet() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doPost(request, response);}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {Userdao dao=new Userdao();List users=dao.getAllUser();request.getSession().setAttribute("users", users);response.sendRedirect("show.jsp");}/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}
在WebRoot下创建一个user命名的目录,然后在user下new一个show.jsp。先导入entity包,在把 pageEncoding改成UTF0-8;然后再body里写输出的样式,代码如下:
<%@ page language="java" import="java.util.*,dao.*,DBHelper.*,entity.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><title>User.jsp</title></head><body><%List<User>users = (List<User>)session.getAttribute("users");
//String uid=request.getParameter("userID");//String uname=request.getParameter("username");
//String password=request.getParameter("password");
//out.print("用户ID:"+uid+"<hr/>");
//out.print("姓名:"+uname+"<hr/>");
//out.print("密码:"+password+"<hr/>");out.print("<table border=1 cellspacing=1>");out.print("<tr><td>id</td><td>用户名</td><td>密码</td></tr>");for(User u:users){out.print("<tr>");out.print("<td>"+u.getUserID()+"</td>");out.print("<td>"+u.getUsername()+"</td>");out.print("<td>"+u.getUserword()+"</td>");out.print("</tr>");}out.print("</table>");%></body>
</html>
记得一定要将链接sql的驱动文件复制在WebRoot下的WEB-INF里的lib下面。
打开WebRoot下的WEB-INF,打开web.xml,复制其路径,开启服务,输入网址(网址如http://localhost:8080/userManager/servlet/UserServlet)即可查看。路径如图:
转载于:https://www.cnblogs.com/qianpeng/p/5280175.html
Java中实现连接数据库并进行查询相关推荐
- Java中JDBC连接数据库详解
今天动力节点java学院小编分享的是JDBC连接数据库的相关知识,希望通过看过此文,各位小伙伴对DBC连接数据库有所了解,下面就跟随小编一起来看看JDBC连接数据库的知识吧. 一.JDBC连接数据库概 ...
- Java中JDBC连接数据库(MySQL)
JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十一个功能都放 ...
- Java中SQL语句写模糊查询_到底Java里的模糊查询语句该怎么写
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 现在String sql="select * from car where carName like '%'+?+'%'";可以查询出 ...
- java中pageInfo分页带条件查询+查询条件的回显
代码如下:解析在下边 <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %&g ...
- C#中怎样连接数据库并将查询结果转为实体类以及如何加入事务
场景 新建一个程序,需要对数据的表进行查询并将查询结果转换为实体类,然后将多个实体类 再插入到另一个数据库的表中,执行插入的过程中要使用事务. 注: 博客主页: https://blog.csdn.n ...
- java中多个条件模糊查询,带条件的查询—模糊查询
模糊查询(都是针对字符串操作的) 模糊查询有点类似于正则表达式,但是他没有正则表达式那么强大. 通配符: _ . % . [] . ^ _ 表示任意的单个字符串. select * ...
- 如何在Java中写模糊查询
转载自:https://blog.csdn.net/gradonisis/article/details/105323751 如何在Java中写模糊查询 模糊查询是什么? 数据库中查询: Java中查 ...
- java中的NIO,BIO,AIO
IO,input和output,Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中. IO是什么?为什么需要IO? java在1.4之前,提供的是BIO,也就是ja ...
- Redis在Java中的使用及连接数据库(附源码)
Redis在Java中的使用及连接数据库(附源码) 引言: 本文主要分享了Redis如何在IDEA中部署,运行:模拟加入Redis的操作: 文章目录 Redis在Java中的使用及连接数据库(附源码) ...
最新文章
- MySQL优化篇:执行计划explain中key_len计算方式
- 图灵奖颁给深度学习之父,他们让计算机像学霸一样思考
- Maven 模块继承、聚合
- 使用Spring Security对RESTful服务进行身份验证
- python做物联网控制_python实现NB-IoT模块远程控制
- 企业实战_18_MyCat_ZK集群安装部署
- leetcode - 448. 找到所有数组中消失的数字
- 制度化规范化标准化精细化_管理技巧:为什么说企业制度化管理势在必行?好处太多了...
- JUnit5 @BeforeEach注解示例
- Android功能点(一)——判断网络是否真正连通
- 机器学习面试-Libsvm
- 文本情感分类python_文本情感分类(一):传统模型
- ISO 3166-1标准国家代码表
- 一种简单、安全的Dota全图新思路 作者:LC 【转】
- 新世纪版五笔字根高清版
- MySQL 冷备份操作 + shell 脚本自动备份
- Java-----投票系统
- 使用飞信SDK开发短信收发程序
- vue拿到某个节点的属性_vue实现将某个dom元素或组件挂载到根节点
- ArcGIS属性表的计算
热门文章
- Python——字典生成式
- python调整图像大小_使用Python调整图像大小
- Selenium UI自动化测试(四)Python+Unittest+HTMLTestRunner测试报告—百度hao123实例
- 比特币链上活跃度下降,近24小时交易额约为1050.57亿美元
- SAP License:如何更好的管理ERP中的供应商?
- SAP License:发票校验
- Flink SQL实时数仓开源UI平台
- 根据xml文件生成对应javabean类
- 关于滤波电容、去耦电容、旁路电容作用
- mark ubuntu 16.04 64bit + cpu only install mtcnn