精华内容
下载资源
问答
  • javaweb 从数据库读取数据的详细操作

    千次阅读 2021-11-14 10:11:39
    从数据库读取数据的详细操作,用购物车案例作为例子 提示:以下是本篇文章正文内容,下面案例可供参考 一、第一步创建bean包 可以先写物品属性,例如商品有编号、名称、价格 private Integer id; private String ...


    前言

    从数据库读取数据的详细操作,用购物车案例作为例子


    提示:以下是本篇文章正文内容,下面案例可供参考
    在这里插入图片描述
    在这里插入图片描述

    一、第一步创建bean包

    可以先写物品属性,例如商品有编号、名称、价格

    private Integer id;
    private String name;
    private Double price;
    

    再使用快捷键alt+shift+s 创建默认构造函数、带参数构造器、get和set方法

    package javaweb.bean;
    
    public class Goods {
    	private Integer id;
    	private String name;
    	private Double price;
    	
    	public Goods() {
    		super();
    	}
    
    	public Goods(Integer id, String name, Double price) {
    		super();
    		this.id = id;
    		this.name = name;
    		this.price = price;
    	}
    	
    	public Integer getId() {
    		return id;
    	}
    	public void setId(Integer id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public Double getPrice() {
    		return price;
    	}
    	public void setPrice(Double price) {
    		this.price = price;
    	}
    	
    }
    
    

    二、第二步创建dao包


    1. 创建bean的链表,用来接收数据
    2. 3-7是使用用jdbc查询数据库数据的操作
    3. 先连上数据库
    4. 使用username ,password登录
    5. 创建sql语句
    6. 执行sql语句
    7. 取结果集
    8. 用bean创建对象,将取出来的数据封装到在里面
    9. 将封装的数据加到先前创建的list里
    10. 返回list(因为是在一个函数里面写的,所以可以返回值便于后面接收值使用)
    package javaweb.dao;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import cn.hutool.json.JSONArray;
    import javaweb.bean.Goods;
    
    public class GoodsDao {
    	public List<Goods> find(){
    		List<Goods> list=new ArrayList<Goods>();//创建bean的链表,用来接收数据
    		Connection conn=null;//先连上数据库
    		PreparedStatement pstmt=null;
    		ResultSet rs=null;
    		try {
    			Class.forName("com.mysql.jdbc.Driver");
    			String url = "jdbc:mysql://localhost:3306/javaweb?useUnicode=true&characterEcoding=utf-8";
    			String username = "root";
    			String password = null;
    			conn=DriverManager.getConnection(url,username,password);//使用username ,password登录
    			String sql="select id,name,price from t_goods";//创建sql语句
    			pstmt=conn.prepareStatement(sql);//执行sql语句
    			
    			rs=pstmt.executeQuery();//取结果集
    			while(rs.next()) {
    				Goods i=new Goods();//用bean创建对象,将取出来的数据封装到在里面
    				i.setId(rs.getInt(1));
    				i.setName(rs.getString(2));
    				i.setPrice(rs.getDouble(3));
    				list.add(i);//将封装的数据加到先前创建的list里
    			}
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally {//使用完,要关闭连接
    			if(pstmt!=null) {
    				try {
    					pstmt.close();
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    			if(conn!=null) {
    				try {
    					conn.close();
    				} catch (SQLException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    		}
    		return list;
    	}
    }
    
    

    三、创建servlet

    package javaweb.servlet;
    
    import java.io.IOException;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import cn.hutool.json.JSONArray;
    import javaweb.bean.Goods;
    import javaweb.dao.GoodsDao;
    
    @WebServlet("/shopping/index")
    public class ShoppingServlet extends HttpServlet {
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		GoodsDao dao=new GoodsDao();//创建GoodsDao的对象
    		List<Goods> goods=dao.find();//调用find方法
    		request.setAttribute("goods", goods);//放到request域中
    		request.getRequestDispatcher("/shopping/index.jsp").forward(request, response);//转发给shopping/index.jsp
    	}
    
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    
    }
    
    

    四、创建jsp文件,用来取数据并显示

    1. 取出request域中的数据(这个数据是Goods的链表,request域中取出的object类型,需要强转一下)

    2. 使用jsp拼接语句,达到循环读取数据

    <%@page import="java.util.List"%>
    <%@page import="javaweb.bean.Goods"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>小红帽商城</title>
    <link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/layui/css/layui.css">
    <script type="text/javascript" src="${pageContext.request.contextPath }/layui/layui.js"></script>
    </head>
    <body>
    <div class="layui-bg-red">
    	<div class="layui-container">
    		<h3 class="layui-inline ">小红帽商城</h3>
    		<div class="layui-nav layui-inline layui-bg-red">
    			<div class="layui-nav-item">
    				<a href="${pageContext.request.contextPath}/shopping">商城首页</a>
    			</div>
    		</div>
    	</div>
    </div>
    	<div class="layui-container">
    		<table class="layui-table">
    			<thead>
    			<tr>
    				<th>编号</th><th>商品名称</th><th>价格</th><th></th>
    			</tr>
    			</thead>
    			<tbody>
    				<%
                		<%--使用jsp拼接语句,达到循环读取数据--%>
    					List<Goods> goods =(List<Goods>)request.getAttribute("goods");
    					for(Goods i:goods){
    				%>
    				<tr>
    					<td><%=i.getId() %></td>
    					<td><%=i.getName() %></td>
    					<td><%=i.getPrice()%></td>
    					<td style="width:140px;text-align:center;">
    						<form action="${pageContext.request.contextPath}/shopping/add" 
                        class="layui-form layui-inline">
    							<input type="text" value="1" name="number" style="width:60px;" 
                           class="layui-input layui-input-inline">
    							<button type="submit" class="layui-btn layui-bg-red ">
    								<i class="layui-icon layui-icon-cart"></i>
    							</button>						
    						</form>
    					</td>
    				</tr>
    				<%
    					}
    				%>
    			</tbody>
    		</table>
    	</div>
    </body>
    </html>
    

    以上为从数据库读取数据的详细操作。

    展开全文
  • java中从数据库中取数据方法

    千次阅读 2021-03-04 00:59:48
    要获取实体bean的用方法:String Hql = "from Users as t where t.name = ? and t.password = ?";List list = this.commDAO.getHibernateTemplate().find(Hql, new Object[] { user.getName(), user.getPassword() }...

    要获取实体bean的用方法:

    String Hql = "from Users as t where t.name = ? and t.password = ?";

    List list = this.commDAO.getHibernateTemplate().find(Hql, new Object[] { user.getName(), user.getPassword() });

    这个比用jdbctemplate一个一个赋值快

    其他的可以用

    List result = this.jdbcService.getJdbcTemplate().queryForList(sql);

    List powerList = new ArrayList();

    Iterator iterator = result.iterator();

    while (iterator.hasNext()) {

    Map itmap = (Map) iterator.next();

    String s = (String) itmap.get("POWER");

    }

    查询,或者用statement方法

    Session s = this.getHibernateTemplate().getSessionFactory().openSession();

    Connection conn;

    Statement stmt = null;

    try {

    conn = s.connection();

    stmt = conn.createStatement();

    stmt.executeUpdate(sql);// .execute(sql);

    } catch (Exception ex) {

    ex.printStackTrace();

    } finally {

    try {

    stmt.close();

    } catch (SQLException e) {

    e.printStackTrace();

    }

    s.disconnect();

    s.close();

    }

    或者用方法:

    public String SelectOneFieldValue(String sql, String fieldName) throws Exception {

    String value = null;

    Connection conn = this.getSession().connection();

    Statement statement = conn.createStatement();

    ResultSet rs = statement.executeQuery(sql.toString());

    while (rs.next()) {

    value = rs.getString(fieldName);

    }

    rs.close();

    statement.close();

    return value;

    }

    展开全文
  • 在一次开发中,领导提供了一个需求,将springboot配置文件的值存放在数据库中,并且能否动态更改。在调用后,决定先做了一个初版。 ​ 1.实现代码 import java.sql.Connection; import java.sql.DriverManager; ...

    在这里插入图片描述
    在一次开发中,领导提供了一个需求,将springboot配置文件的值存放在数据库中,并且能否动态更改。在调用后,决定先做了一个初版。

    1.实现代码

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.Map;
    
    import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent;
    import org.springframework.boot.origin.OriginTrackedValue;
    import org.springframework.context.ApplicationListener;
    import org.springframework.core.env.MutablePropertySources;
    import org.springframework.core.env.PropertySource;
    
    
    public class ConfigureListener implements ApplicationListener<ApplicationEnvironmentPreparedEvent> {
    
        @Override
        public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) {
            Connection conn = null;
            Statement st = null;
            ResultSet rs = null;
            // 获取spring Environment
            MutablePropertySources propertySources = event.getEnvironment().getPropertySources();
            // 配置放在了application-pro或者是application-dev 中 赋值复制需要在其中赋值
            for (PropertySource<?> propertySource : propertySources) {
                boolean applicationConfig = propertySource.getName().contains("application-");
                if (!applicationConfig) {
                    continue;
                }
                // 获取上文的application集合中获取数据库连接
                Map<String, OriginTrackedValue> dataBaseSource =
                    (Map<String, OriginTrackedValue>)propertySource.getSource();
                String driverClass = String.valueOf(dataBaseSource.get("spring.datasource.driver-class-name").getValue());
                String url = String.valueOf(dataBaseSource.get("spring.datasource.url").getValue());
                String user = String.valueOf(dataBaseSource.get("spring.datasource.username").getValue());
                String password = String.valueOf(dataBaseSource.get("spring.datasource.password").getValue());
                // 因为在spring初始化之前 所有不能使用注解 所以需要jdbc直接连接数据库 首先建立驱动
                try {
                    Class.forName("oracle.jdbc.driver.OracleDriver");
                    conn = DriverManager.getConnection(url, user, password);
                    // 1、获取连接对象
                    // 2、创建statement类对象,用来执行SQL语句!!
                    st = conn.createStatement();
                    // 3、创建sql查询语句
                    String sql = "select * from SYS_CONFIGURE";
                    // 4、执行sql语句并且换回一个查询的结果集
                    rs = st.executeQuery(sql);
                    while (rs.next()) {
                        // 获取数据库中的数据
                        String item = rs.getString("ITEM");
                        String itemValue = rs.getString("ITEM_VALUE");
                        // 通过数据库中的配置 修改application集合中数据
                        Map<String, OriginTrackedValue> source =
                            (Map<String, OriginTrackedValue>)propertySource.getSource();
                        OriginTrackedValue originTrackedValue = source.get(item);
                        OriginTrackedValue newOriginTrackedValue =
                            OriginTrackedValue.of(itemValue, originTrackedValue.getOrigin());
                        source.put(item, newOriginTrackedValue);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    
    @SpringBootApplication
    public class TestApplication {
    
        public static void main(String[] args) {
            SpringApplication app = new SpringApplication(TestApplication.class);
            app.addListeners(new ConfigureListener());
            app.run(args);
        }
    }
    

    2.原理简介

    在springboot初始化时,会识别application .xml,并将扫描到的配置类放于MutablePropertySources中,在执行初始化后,将会执行addListeners,在addListeners中重新复写了MutablePropertySources对象。将从数据库中查询到的配置覆盖到已经查询到的对象中,从而实现配置文件的更改。

    获取MutablePropertySources 代码。
    MutablePropertySources propertySources = event.getEnvironment().getPropertySources();
    

    3.使用中间件

    最后该方案只是做了一个demo。建议使用apollo或者nacos作为配置中心。功能更加的强大且更为稳定。何苦自己造轮子呢。。。

    展开全文
  • 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做数据的预处理和训练机器学习模型。#%%import pymssql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb#数据库连接属性...

    使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存。下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做数据的预处理和训练机器学习模型。

    #%%

    import pymssql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb

    #数据库连接属性

    hst = '188.10.34.18'

    usr = 'sa'

    passwd = 'p@ssw0rd'

    db = 'HistoryTrace'

    #总共多少数据

    allData = 1674333

    #每个批次多少条数据

    dataOfEach = 20000

    #批次

    batch = ceil(allData/dataOfEach)

    #文件名

    global IDctrl

    IDctrl = 1

    filename = str(IDctrl)+'.txt'

    #连接数据库

    conn = MySQLdb.connect(host=hst,user=usr,password=passwd,database=db)

    cur=conn.cursor()

    while IDctrl

    #读取数据库

    sql = 'SELECT Longitude,Latitude,Altitude,VelComOfLong,VelComOfLati,Aircraft,Section,TimeMinus\

    FROM dealed1 where ID>=' + str(IDctrl) + ' and ID

    cur.execute(sql)

    rows=cur.fetchall()

    #写文件

    f = open(filename,'w')

    f.writelines(str(rows))

    #文件名加1

    IDctrl+=1

    filename = str(IDctrl)+'.txt'

    #关闭数据库连接

    f.close()

    conn.close()

    展开全文
  • 从数据库中更新模型 总结 注意 注意:保证系统使用的jdk是x86的,即32位的jdk 创建项目空模型 可能由于是下载的powerdesigner的版本问题,dbms这里最新的还是mysql5.0, 但是网上查找的软件版本...
  • html从数据库中读取数据

    千次阅读 2021-01-18 20:07:09
    展开全部html只能通过ajax接口跟后台数据库接口通信,然后取出来的数据在页面上显636f70793231313335323631343130323136353331333337626135示。以下是一个例子:html文件suggest.html:body {font: 11px arial;}....
  • ##Version : 1.1 ##----------------------------------------------------------# ### Python从数据库中读取数据,并打印表格展示数据。#导入模块 importosimportsubprocessimportmysql....
  • mysql数据库中字段logintime数据类型为datetime。在java项目中直接获取 String time = map.get("logintime").toString(); time值为 2021-01-02 00:00:00.0 现在需要只显示年月日,不显示时间。 解决: 使用日期...
  • 我正在使用,Spring Boot并且在调度cron task数据库中存在的使用值时遇到问题。...这很好用,但是我不想属性文件中获取值,而是想从数据库表中获取它们。有可能吗? Vignesh: 您可以在SpringBootApplic..
  • Java实现从数据库读取数据放入JList中import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;public class JTestextends JFrame {BorderLayout borderLayout1 = new BorderLayout();...
  • 需要解决的有以下几个问题:1.ajax请求数据库中的数据2.将数组信息显示在select下拉框的option中,用 $.each(data, function(index, item) {}})遍历数组data3...之间的联动要从数据库获取。因为四者之间的关系非常复...
  • res.data }) console.log('[数据库] [查询记录] 成功: ', res) }, fail: err => { wx.showToast({ icon: 'none', title: '查询记录失败' }) console.error('[数据库] [查询记录] 失败:', err) } }) }, /** * 生命...
  • JSP的数据从数据库中获取导入type=date的input标签中

    万次阅读 多人点赞 2021-06-16 11:09:03
    jsp 页面最开始加上 <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> <%@ taglib prefix="fmt" uri=... <...charset=UTF-8" language="java" isELIgnored="false" %>...用EL表达式把值设置到 v
  • 从数据库中查到的数据根据前端的需要封装到Map中,然后把Map返回给前端 弊端:只能够封装类型单一的数据。 方式二:封装到VO中 注意:实体VO和实体中的属性是一致的 把从数据库中查到的数据根据前端的需要封装到VO...
  • Class.forName(driver);connection=DriverManager.getConnection(url,"root","123456");statement=connection.createStatement();resultSet=statement.executeQuery(sql);... } 怎么输出数据库里的这些内容 展开
  • ![ 在这里插入图片描述 ](https://img-blog.csdnimg.cn/20201230171624633.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xseTgyMmxs,size_16,color_...
  • 关于微信小程序中从数据库中读取date类型字段如何在页面渲染为“年-月-日”格式(多种自定义格式)我想要解决的问题是什么?接下来就是怎么在微信小程序中如何使用dayjs进行格式转换 我想要解决的问题是什么? 1、...
  • mysql的mysqldump命令行下具体用法如下:...导出MySQL整个数据库结构和数据(语法和示例)//mysqldump -h localhost -uroot -proot databasename > dump.sql//如数据库是 examplemysqldump -h localhost -uroot...
  • 2.8 从数据库导入数据

    千次阅读 2021-02-10 23:58:25
    2.8 从数据库导入数据 1、准备工作 (1)首先需要安装SQLite数据库pip install sqlite3 (2)可以在IPython中执行下述代码来验证一下是否都已经安装好 (3) import sqlite3 sqlite3.version sqlite3.sqlite_version...
  • 可以用数据库的方法把地块信息导出为 excel或者其他数据库的 譬如 mdb转成excel 打开access 右击表 选择导出--excel 答:用字段工具箱中的添加字段,右键选择批处理 答:toolbox中的Eliminate工具往往不能满足要求 ...
  • 准备:两台机器一主一192.168.1.150 主192.168.1.151 从数据库主从配置完毕,并且主从正常工作中。开始模拟线上的错误首先用root用户进入到从数据库,人为的插入一条数据(当然了从数据库已经配置了read_only),...
  • 今天碰到朋友问我个问题,数据库启动时日志中的这个“invalid record length at 3/EAA68B8: wanted 24, got 0”里面的wanted 24是啥意思。 而数据库正常启动时的日志其实并不是上面那样,而是如下图所示: 上图的...
  • ComboBox下拉框连接数据库获取数据

    千次阅读 2021-08-25 10:03:57
    在下拉框中获取数据库的数据
  • 连接源数据库: /** * 数据源 */ public void ImportDataByJdbc() { long startTime = System.currentTimeMillis(); //获取开始时间 Connection con = null;// 创建一个数据库连接 PreparedStatement ...
  • 删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。 删除数据库 在 MySQL中,当需要删除已创建的数据库时,可以使用 DROP DATABASE 语句。其语法格式为: DROP ...
  • 零基础开发 javaWeb 一、实验目的及要求 使用java语言MySQL数据库中查询其中一个表的数据。 二、实验环境 Windows 10环境 java version: 11.0.10 IDE工具:IntelliJ IDEA 2020.3 MySQL: 5.7.26
  • mysql数据库删除一行数据

    千次阅读 2021-01-19 10:09:55
    文章 技术小甜 2017-11-16 713浏览量 MySQL默认数据库简介 类似于MS SQL Server等大型数据库,MySQL数据库也提供了内置的数据库,它们是: INFORMATION_SCHEMA mysql test 1.information_schema 其中,第一个数据库...
  • pandas将数据excel导入数据库

    千次阅读 2021-03-19 19:18:30
    先上代码 import pandas as pd from sqlalchemy import create_engine def excel_to_DB(host='host', port='port', user='user', passwd='123456', db='dbname', path_excel='acu.... :param host: 数据库地址 :par
  • Java Swing Jtable组件展示从数据库中获取到的的数据,可点击按钮查询数据并展示。
  • $maxpostnum = 200; //设定最小帖子数量 if(!... 到这里,mysql数据库中的1046错误就基本上解决了,希望大家通过上文的学习能够掌握mysql数据库中的错误解决方法,相信这对大家日后的工作是非常有帮助的。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,722,498
精华内容 2,688,999
关键字:

从数据库