实习日志Day3_JDBC的优化与ssm架构的初步理解

实习日记--day1(软件安装与JDBC连接数据库) 实习日记--day1相关软件安装与问题解决JDKIDEA的安装破解MySQL的安装其他安装IDEA实现数据库的连接(JDBC)新建时“无CDK”通过JDBC方式连接数据库尚未解决的问题功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也... 阅读详情

JDBC的优化

昨天的实习内容是在Idea平台上用Java实现JDBC(具体内容见下面的一篇博客)。
JDBC详细实现步骤
第一次写JDBC,还不够完善,所以今天在老师的带领下完成了JDBC的优化。

初次接触MVC

MVC全名是Model View Controller,是模型-视图-控制器的缩写,一种软件设计典范。
Model(模型):处理应用程序中数据逻辑的部分,通常模型对象负责在数据库中存取数据。
View(视图):通常视图是依据模型数据创建的,负责处理数据显示。
Controller(控制器):是应用程序中处理用户交互的部分。

改进后的JDBC

bean包:UserInfo类及封装

package com.whut.bean;

public class UserInfo {
    private int id;//封装
    private String name;
    private int age;
    private String sex;
    private String salary;

    public UserInfo(String name, int age, String sex, String salary) {//构造方法
    }

    public int getId() {//getter
        return id;
    }

    public void setId(int id) {//setter
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getSalary() {
        return salary;
    }

    public void setSalary(String salary) {
        this.salary = salary;
    }

    public UserInfo(int id, String name, int age, String sex, String salary) {//toString,方便打印
        this.id = id;
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.salary = salary;
    }

    @Override
    public String toString() {
        return "UserInfo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", salary='" + salary + '\'' +
                '}';
    }
}

dao包:增删改查方法的具体实现和主函数(只给出了查询和增添)

package com.whut.dao;

import com.whut.bean.UserInfo;
import com.whut.util.DBUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class UserInfoDao {
    public List<UserInfo> findUsers() {
        ResultSet resultSet = null;
        PreparedStatement statement = null;
        Connection connection = null;
        List<UserInfo> userInfos = new ArrayList<>();

        try {
            //加载驱动 创建连接
            connection = DBUtil.getConnection();
            //System.out.println("创建连接成功");
            //写sql
            String sql = "select * from user";
            //得到statement对象
            statement = connection.prepareStatement(sql);
            //执行sql得到结果集
            resultSet = statement.executeQuery();
            while (resultSet.next()) {
                int id = resultSet.getInt(1);
                String name = resultSet.getString(2);
                int age = resultSet.getInt(3);
                String sex = resultSet.getString(4);
                String salary = resultSet.getString(5);
                UserInfo userInfo = new UserInfo(name, age, sex, salary);
                userInfo.setId(id);
                userInfos.add(userInfo);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            DBUtil.close(resultSet,statement,connection);//关闭资源
        }
        return userInfos;
    }
    public void addUser(UserInfo userInfo){
        Connection connection=null;
        PreparedStatement statement=null;
        //1.加载驱动
        try {
            connection=DBUtil.getConnection();
            //3.写sql
            String sql="insert into userinfo (id,name,age,sex,salary) values (?,?,?,?,?)";
            //4.得到statement对象
            statement = connection.prepareStatement(sql);
            statement.setInt(1,userInfo.getId());
            statement.setString(2,userInfo.getName());
            statement.setInt(3,userInfo.getAge());
            statement.setString(4,userInfo.getSex());
            statement.setString(5,userInfo.getSalary());
            //5.执行sql  得到结果集
            statement.executeUpdate();//添加
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            DBUtil.close(null,statement,connection);//关闭资源
        }
    }
    public static void main(String[] args){
        UserInfoDao test = new UserInfoDao();
        test.findUsers();
        test.addUser(new UserInfo("玛丽", 32, "女", "4000"));
    }
}

DBUtil包:工具包,实现驱动加载,建立连接,释放连接

package com.whut.util;

import java.sql.*;

public class DBUtil {
    public static Connection getConnection() {
        //Connection connection=null;
            try {
                //加载驱动
                Class.forName("com.mysql.jdbc.Driver");
                //创建连接
                Connection connection= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc?useSSL=true&"+"characterEncoding=utf-8&user=root&password=root");
            } catch (Exception e) {
                e.printStackTrace();
            }
            //System.out.println("创建连接成功");
        return null;
    }
    public static void close(ResultSet resultSet, Statement statement,Connection connection){
        //关闭资源
        if(resultSet!=null){
            try {
                resultSet.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(statement!=null){
            try {
                statement.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(connection!=null){//为空的话会报错
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}

ssm框架的初步理解

IDEA+Maven 整合SSM框架实现简单的增删改查
SSM框架(Spring + Spring MVC +Mybatis)是目前使用最多的java应用框架。
spring ioc 控制反转 spring帮我们创建对象 和 aop
springmvc 控制
mybatis 数据库操作

开发工具:

  • IntelliJ IDEA 2018.2.2
  • tomcat 9.0.94
  • jdk1.8.0_201
  • Mysql 5.5.58
  • maven 3.6.0

工程结构:

工程图片
更加详细的项目开发过程会在明天的博客里面介绍(欢迎评论)。

如何运行一个 SSM 项目以及解决 JDBC 连接数据库遇到的问题(已解决) 这篇文章分享记录一下,运行超市订单管理系统的 SSM 项目遇到的问题和相关配置,以及 JDBC 连接数据库遇到的问题和解决方法。文章内容包括,运行 SSM 项目,弄好相关配置,解决项目运行出现的问题,以及解决方法和知识点补充。 阅读详情

相关推荐

AI编排实战:MuleSoft+LangChain构建企业级AI集成架构

AI编排(AI Orchestration)是企业落地大模型应用的核心能力,本质是在异构系统、安全治理与复杂AI逻辑之间建立可控的数据流与能力流。其原理并非简单调用LLM API,而是通过API网关层统一纳管数据接入、权限控制与合规脱敏,再由AI框架层执行多跳推理、动态模板与条件路由。技术价值在于破解数据孤岛、规避治理真空、替代硬编码逻辑,支撑销售智能助手、客户流失预测、自动化报告等高价值场景。本文聚焦MuleSoft与LangChain的职责切分与协同实践,详解如何将37个系统调用压缩为可审计、可演进的四

xpp02的专栏 403

【实习日志】JDBC封装与数据的增、删、改、查

JDBC封装 DBUtil.java package com.zhongruan; import java.sql.*; public class DBUtil { private static String driver = "com.mysql.jdbc.Driver"; //127.0.0.1 private static String url = "jdbc:m...

pu_bobo的博客 253

MuleSoft AI编排实战:企业级LLM集成的可审计、可治理落地路径

AI编排(AI Orchestration)是企业将大语言模型(LLMs)深度融入核心业务流程的关键范式,其本质并非简单调用API,而是对意图理解、上下文编织、混合执行与合规管控的系统性设计。在已有集成底座(如MuleSoft)基础上开展AI编排,可复用策略引擎、对象存储、全链路追踪等企业级能力,规避自建方案在数据主权、状态治理、审计留痕和安全合规上的先天短板。该实践路径特别适用于金融、制造、零售等强监管行业,支撑智能核保、合同审核、售后知识库等真实场景,实现LLM能力与现有ESB/API管理资产的最小改造

weixin_30412167的博客 489

实习日志Day2_Idea平台JDBC详细实现

JDBC的详细实现 首先是Idea和mysql的安装 具体参考下面一篇博客: Idea mysql安装 下面是数据库中的表: 1. 加载JDBC驱动管理器(将与mysql连接的相应jar包导入Idea中): jar包去mysql官网下载添加链接描述 点击DOWNLOADS->COMMUNITY-MYSQLConnectors->Connector/J; (下载到一个没有中文的路径...

Programmerfjq的博客 392

SSM+MySQL实现网约车平台:从架构设计到部署排错全解析

在Java后端开发中,SSM框架是一套经典的技术组合,它将Spring的IoC与事务管理、SpringMVC的请求分发和MyBatis的动态SQL能力整合在一起,为中小型企业级项目提供了清晰的分层架构。理解这套组合的原理,有助于开发者从底层掌控框架的协作机制。实战中,通过构建一个网约车用户服务平台,可以完整覆盖从用户、司机、管理后台的多角色设计,到订单状态机、并发抢单、费用计算等业务场景。文章以该项目为例,详细拆解了架构选型、MySQL表结构设计、SSM整合配置、核心功能实现以及部署排错过程,帮助读者快速掌

weixin_33788244的博客 312

SSM在线学习平台实战:从数据库设计到Tomcat部署全解析

在Java Web开发中,SSM(Spring+Spring MVC+MyBatis)是经典的企业级应用组合,它让对象管理、请求分发与数据持久化各司其职。理解SSM如何通过XML配置串联起组件依赖,是掌握其运行原理的关键。SSM技术栈在中小型业务系统中具备极高的工程价值,尤其适合在线学习平台这类需要课程管理、进度追踪与在线考试的场景。实际开发中,从数据库表结构设计到SQL文件导入,再到Mapper动态SQL与分页查询,每一步都直接影响系统稳定性。本文以在线学习平台为实战载体,详细拆解用户、课程、学习记录等核

weixin_30268071的博客 369

实习日志二--JDBC

JDBC的编写1.加载驱动新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表 1.加载驱动 JDBC连接到数据库的第一步就是加载驱动 新的改变 我们对Mar...

Katha_rsis的博客 971

SSM投票系统实战:可交付、可答辩的Java毕业设计脚手架

在线投票系统是Java Web开发中的典型业务场景,涉及用户认证、事务控制、防刷票、数据导出等核心工程能力。其底层依赖Spring+SpringMVC+MyBatis(SSM)框架协同,需精准划分IOC容器管理、MVC请求路由与MyBatis动态SQL执行边界;同时要求MySQL表结构支持IP+设备指纹联合去重、冗余字段优化查询性能、索引覆盖高频业务路径。该类系统广泛应用于高校选举、企业内投、课程设计等轻量级民主决策场景,强调‘可运行、可讲解、可延展’——而非仅实现CRUD。本文以一套经答辩验证的SSM投票

weixin_34293246的博客 2023

宁波实习日志day3

SSM项目搭建——数据库的增删改查 在写代码之前先了解一下这三个框架分别是干什么的? SpringMVC:它用于web层,相当于controller(等价于传统的servlet和struts的action),用来处理用户请求。举个例子,用户在地址栏输入http://网站域名/login,那么springmvc就会拦截到这个请求,并且调用controller层中相应的方法,(中间可能包含验证用户名...

qq_40271232的博客 387

基于SpringBoot+Vue+MySQL的加油站管理系统设计与实现解析

前后端分离架构是现代Web应用开发的主流模式,SpringBoot作为后端框架简化了配置与部署,Vue则提供了高效的组件化开发体验,两者结合MySQL构成了一套适用于业务管理系统的成熟技术栈。在系统设计中,JWT(JSON Web Token)以其无状态特性解决了分布式场景下的会话共享难题,成为登录鉴权的优选方案。围绕真实业务场景,如加油站管理,系统需要涵盖订单管理、库存管理、会员储值与统计报表等核心模块,并通过事务机制保证数据一致性。数据库字段类型选择BigDecimal避免金额精度丢失,订单号生成策略兼

weixin_34320724的博客 411

Spring Boot小型超市管理系统:从数据库设计到部署全流程实战

在Java Web开发中,Spring Boot凭借约定优于配置和自动装配机制,已成为构建中小型业务系统的首选技术栈。它以极低的搭建成本整合了Spring MVC、MyBatis等核心组件,让开发者能专注于业务逻辑而非繁琐的XML配置。本文围绕一套典型的小型超市管理系统,从关系型数据库的核心表设计出发,梳理了商品、库存、订单等实体间的主外键关联与事务控制要点,并基于MyBatis-Plus实现分页查询与通用CRUD,结合拦截器完成登录认证与角色权限管控。这种单体分层架构不仅覆盖了CRUD、分页、事务、报表等

weixin_29597551的博客 228

中软国际day4

今天是对于SSM,三种框架的深入学习和理解 Spring 概述: 为了解决项目中各层之间的松耦合问题(起到组件之间的粘结作用). 开源框架. 好处: 1.不依赖于应用服务器. 2.IOC(控制反转)技术实现组件控制, 通过DI(依赖注入)技术提高了组件之间的解耦. 3.通过AOP(面向切面编程)技术实现安全、事务、日志功能的统一管理,提高复用. 4.Spring框架可以几乎与其他任何框架进行良好...

Yohann_w的博客 255

数据库实习日志

3000字模版 今天是实习的第一天,但是我们对此次实习却并不感到陌生,因为在12月31日星期六的早上,我们的代课老师杨丽丽和其余几位指导老师给我们做了数据库实习动员大会,并且在下午我们集体与我们的指导老师就我们各自的实习题目做了交流,所以我们大家已对即将到来的实习有了一定的了解并做了适当的准备;虽然做了一些准备,但就我个人而言对今天的任务——数据流程图的绘制并不是很擅长,所以在早上我做的很慢,但是经过我对老师ppt的认真学习与了解,以及与老师的及时交流,在下午的四个小时内我加快进度,完成了今天的任务。但是由于不知道该怎样画好数据流程图,因而我的大多数数据流程图都是经过老师ppt上改编过来的,有可能并不符合我所做系统的需要,所以这可能回给我以后的工作带来一些麻烦。

SpringMVC_day02

SSM 整合需关注配置类的正确性,统一结果和异常处理提升接口规范性,拦截器增强系统功能。实际开发中需结合日志、缓存等优化系统性能,并通过 Swagger 等工具完善接口文档。

weixin_41545189的博客 919

SSM+jdbc所以框架包

spring-webmvc-portlet-3.2.13.RELEASE、mysql-connector-java-5.1.0-bin.jar、mybatis-spring-1.2.0.jar、mybatis-3.2.2.jar、spring-aspects-3.2.13.RELEASE.jar等20多个架包

初学者项目实训Java-MySQL-JDBC-BBS源码

一个完整的JAVA源码文件,供初学者搭建项目实践思想!

基于SSM企业级OA系统的设计与实现-计算机毕设 【课程设计】 18672

平台用户功能 (1)注册登录:新用户可以通过注册成为系统用户,注册后可以用账号密码登录系统。 (2)首页:用户可以查看首页展示的轮播图、通知公告、新闻资讯等信息并可以进行相关操作。 (3)通知公告:用户可以查看系统发布的通知公告、关于我们、联系方式、网站介绍等信息。 (4)新闻资讯:用户可以查看新闻资讯列表中某个资讯信息的详情并可以进行点赞、收藏和发表评论操作。 (5)文档信息:用户可以查看文档信息列表中某个文档信息的详情并可以进行点赞、收藏和发表评论操作。 (6)即时通讯:用户点击导航栏的“即时通讯”进入

WeiXin_DZbishe的博客 875

从防御者视角复盘:用WinArpAttacker和Wireshark在Windows上模拟并检测ARP欺骗攻击

本文详细解析了Windows平台下的ARP欺骗攻击与防御策略,通过WinArpAttacker和Wireshark工具模拟攻击并检测异常流量。文章涵盖实验环境搭建、攻击原理深度解析、流量特征分析及企业级防御方案,帮助安全运维人员全面掌握ARP攻击检测与防护技术。

weixin_30918633的博客 121

SpringBoot农产品系统开发实战与架构解析

企业级应用开发中,SpringBoot凭借其自动配置和嵌入式容器特性,成为构建高并发系统的首选框架。其核心价值在于通过约定优于配置的原则,显著提升开发效率并保证系统稳定性。在电商、物流等需要处理复杂业务场景的领域,SpringBoot与MyBatis、Redis等组件的组合能有效应对高并发挑战。以农产品管理系统为例,通过三级库存体系、分布式锁机制实现每秒800+的库存操作,结合二维码溯源和状态机设计满足农业场景特殊需求。这类系统典型应用在需要实时数据追踪(如生鲜冷链)和复杂业务流程(如预售订单)的场景,技术

weixin_33984032的博客 312

Transformers在自动驾驶领域的应用(High-level like in scene)

Transformers uses global attention mechanism to capture long-range interaction information. Two core modules in Transformers are Self-Attention and Cross-Attention, which defined asAttn(Q,K,V)=softmax(QK⊤dk)VSelfAttn(X)=Attn(WQX,WKX,WVX)CrossAttn(X,Y)=Attn

qq_39337332的博客 1774

PySpark机器学习生产化陷阱:跨节点依赖问题的7种解决方案

隐式依赖陷阱使用ldd解决方案:在基础镜像中预装和路径冲突终极解法依赖树瘦身技巧用conda-tree可减少40%环境体积PySpark机器学习生产化的核心矛盾在于分布式环境的确定性与灵活性不可兼得。轻量级方案(1-3)牺牲一致性换取灵活性重量级方案(4-6)牺牲灵活性换取确定性混合方案(7)针对特殊场景补充正如某AI平台架构师所言:“环境一致性不是技术问题,而是工程纪律问题选择适合团队当前阶段的方案,建立严格的依赖管理流程,才能让PySpark真正扛起生产环境的大旗。

datacanvas2426的博客 909
上一篇: 实习日志Day2_Idea平台JDBC详细实现
下一篇: IDEA+Marven 整合ssm框架实现
擅长颓废ing
博客等级 码龄9年 5粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值