SSM配置(备忘)

news2024/10/5 23:28:17

SSM

  • SSM
  • 需要配置的文件
    • 配置applicationContext.xml
    • 配置database.properties
    • 配置mappers/ExamDao.xml
    • 在java目录下创建controller、dao、pojo、service目录
      • 控制类
      • 接口类(dao)
      • 实体类(pojo)
      • 服务层service
        • service接口类
        • 服务层实现类

SSM

SSM包含框架
spring
springMVC 层级MODEL VIEW Controller
mybatis 层级DB

其他
Servlet jdbc

springcloud —>微服务
—> 1 alibaba —> docker —> jen

在这里插入图片描述

需要配置的文件

在这里插入图片描述

配置applicationContext.xml

<?xml version="1.0" encoding="utf-8" ?>
<beans
        xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xmlns:mvc="http://www.springframework.org/schema/mvc"
        xsi:schemaLocation="
	http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
	http://www.springframework.org/schema/context
	http://www.springframework.org/schema/context/spring-context-3.1.xsd
	http://www.springframework.org/schema/tx
	http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
	http://www.springframework.org/schema/mvc
	http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd">

    <!--包的注解扫描-->
    <context:component-scan base-package="nj.zb.kb21"></context:component-scan>

    <!--  数据库配置信息  -->
    <context:property-placeholder location="classpath:database.properties"></context:property-placeholder>

    <!--加载数据源-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="jdbcUrl" value="${mysqlurl}"/>
        <property name="driverClass" value="${mysqldriver}"/>
        <property name="user" value="${mysqluser}"/>
        <property name="password" value="${mysqlpwd}"/>
    </bean>

    <!--   配置SqlSessionFactory工厂对象 -->
    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!--加载数据源-->
        <property name="dataSource" ref="dataSource"></property>
        <!--扫描实体类包pojo-->
        <property name="typeAliasesPackage" value="nj.zb.kb21.pojo"></property>
        <!--扫描Sql配置文件(dao接口的实现xml文件)-->
        <property name="mapperLocations" value="classpath:mappers/ExamDao.xml"></property>
    </bean>

    <!--  完成映射类  -->
    <bean id="scannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>
        <property name="basePackage" value="nj.zb.kb21"></property>
    </bean>
    
    <!--事务管理-->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"></property>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>

    <mvc:annotation-driven/>
</beans>

配置database.properties

mysqldriver=com.mysql.cj.jdbc.Driver
mysqlurl=jdbc:mysql://192.168.153.141:3306/exam?allowMultiQueries=true
mysqluser=root
mysqlpwd=root

配置mappers/ExamDao.xml

在resources下创建mappers/ExamDao.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="nj.zb.kb21.dao.ExamDao">
    <select id="getAllStudent" resultType="student">
        select s.id,s.name,s.age,s.gender,s.telephone,s.email,s.classid ,c.name className
        from exam.student s left join classes c
        on s.classid = c.id;
    </select>

    <insert id="addStudent">
        insert into exam.student(id,name,age,gender,telephone,email,classId)
        values (null,#{name},#{age},#{gender},#{telephone},#{email},#{classId})
    </insert>

    <select id="getAllClasses" resultType="classes">
        select id,name from exam.classes;
    </select>
</mapper>

在java目录下创建controller、dao、pojo、service目录

控制类

@Controller
public class ExamController {

    @Autowired
    private ExamService examService;

    //http://localhost:8080/loadstu.do
    @RequestMapping("loadstu")
    @ResponseBody   //将方法返回的对象转换成JSON字符串
    public List<Student> getStus(){
        List<Student> allStudent = examService.getAllStudent();
        return allStudent;
    };

    //http://localhost:8080/loadcls.do
    @RequestMapping("loadcls")
    @ResponseBody
    public List<Classes> getCls(){
        List<Classes> allClasses = examService.getAllClasses();
        return allClasses;
    }

    //http://localhost:8080/savestu.do
    @RequestMapping("savestu")
    @ResponseBody
    public Integer saveStudent(Student stu){
        System.out.println(stu);
        Integer integer = examService.addStudent(stu);
        return integer;
    }
}

接口类(dao)

public interface ExamDao {
    List<Student> getAllStudent();

    List<Classes> getAllClasses();

    Integer addStudent(Student stu);
}

实体类(pojo)

对应数据库中的词条 描述set get方法的类

服务层service

service接口类

public interface ExamService {
    /**
     * 查询所有学生信息及班级信息
     * @return
     */
    public List<Student> getAllStudent();

    /**
     * 添加新的学生信息
     * @param student
     * @return
     */
    public Integer addStudent(Student student);

    /**
     * 获取所有班级信息
     * @return
     */
    public List<Classes> getAllClasses();

}

服务层实现类

/**
 * 服务层 Service
 */
@Service
@Transactional
public class ExamServiceImpl implements ExamService {

    @Autowired
    private ExamDao examDao;

    @Override
    public List<Student> getAllStudent() {
        return examDao.getAllStudent();
    }

    @Override
    public Integer addStudent(Student student) {
        return examDao.addStudent(student);
    }

    @Override
    public List<Classes> getAllClasses() {
        return examDao.getAllClasses();
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux(centos7)基本操作---用户权限

用户权限基本权限&#xff08;UGO&#xff09;设置权限设置属主&#xff0c;属组基本权限&#xff08;ACL&#xff09;特殊权限基本权限&#xff08;UGO&#xff09; 设置权限 权限的对象分为个人&#xff08;u&#xff09;&#xff0c;组&#xff08;g&#xff09;&#xff…

无货源模式,跨境电商时代的风向标

众所周知&#xff0c;说到电商&#xff0c;我们首先就会想到淘宝、天猫、京东等平台&#xff0c;这些平台近年来发展迅猛&#xff0c;红海一片&#xff0c;可以说已经趋向于饱和状态了。由于国内电商平台严重的同质化竞争&#xff0c;越来越多的卖家开始转战跨境电商。为什么加…

Canary保护机制及绕过

Canary基本介绍 在基本的栈溢出中&#xff0c;我们可以通过没有限制输入长度或限制不严格的函数等向栈中写入我们构造的数据&#xff0c;可写入的数据包括但不限于&#xff1a; 一段可执行的代码&#xff08;关闭NX防护的前提下&#xff09; 一段特意构造的返回地址等 … …

基于java SSM校园兼职平台系统设计和实现

基于java SSM校园兼职平台系统设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 …

CI/CD | 大型企业与开发团队如何进行持续集成与持续发布

Jenkins是当今最流行的持续集成工具之一&#xff0c; 企业选择Jenkins&#xff0c;可以从它的灵活性和自动化能力中获益。但除此之外的其他需求呢&#xff1f;企业规模在不断增大&#xff0c;他们如何在不增加管理负担的情况下&#xff0c;让CI扩展到整个组织&#xff0c;并满足…

rabbit是否支持批量发送?

最近和rabbit一直在打交道, 也是有个问题 Rabbit是否支持批量发送消息 该问题笔者翻阅官方文档与三方博客也没有找到答案&#xff0c;后也是自己去翻阅源码后才大概找到一个不敢确定的答案: BatchingRabbitTemplate 批量rabbit模板 该模板在RabbitTemplate模板的基础上进行了…

springboot配置(备忘)

springboot配置新建项目配置application.properties成功Tips需要配置的东西设置SpringbootstuApplication配置欢迎界面在java目录下创建controller、dao、pojo、service目录(与ssm配置大致相同&#xff0c;注释不同)控制类接口类&#xff08;dao&#xff09;实体类&#xff08;…

使用SysBench压测mysql8.x版本

yum install gcc gcc-c autoconf automake make libtool mysql-devel git mysql git clone https://github.com/akopytov/sysbench.git ##从Git中下载Sysbench cd sysbench ##打开sysbench目录 git checkout 1.0.18 ##切换到sysbench 1.0.18版本 ./autogen.sh ##运行autogen.sh…

读书笔记——上瘾:让用户养成使用习惯的四大产品逻辑

总结 书中核心逻辑就是下面这张图&#xff0c;上瘾的过程由四步组成&#xff1a; 下面以我自己为案例&#xff0c;从四个维度分析&#xff1a;魔兽世界、写博客&#xff0c;这两件事情。 1 触发、行动 行动的目标是获取酬劳。书中提到《福格行为模型》 福格行为模型&…

Windows下gitee的注册和代码提交(图文并茂)

前言 对于我们的程序源来说&#xff0c;我们写的代码保存下来是很有必要的&#xff0c;是为了我们以后方便找到我们的代码&#xff0c;让我们的代码不被丢失。 我们上一篇文章&#xff0c;将了Linux系统下我们的三板斧的指令(点开这个就可以看在Linux下的操作)&#xff0c;这时…

法律常识(八)社会保险法全文(附解释)

目录 参考 第一章 总  则 第二章 基本养老保险 第三章 基本医疗保险 第五章 失 业 保 险 第六章 生 育 保 险 第七章 社会保险费征缴 第八章 社会保险基金 第九章 社会保险经办 第十章 社会保险监督 第十一章 法 律 责 任 第十二章 附  则…

Collect-MemoryDump:一款针对Windows的数字取证与事件应急响应工具

关于Collect-MemoryDump Collect- MemoryDump是一款针对Windows的数字取证与事件应急响应工具&#xff0c;该工具能够自动创建Windows内存快照以供广大研究人员或应急响应安全人员进行后续的分析和处理。 项目提供的Collect- MemoryDump.ps1是一个PowerShell脚本文件&#xf…

51单片机学习笔记-7LED点阵屏

7 点阵屏 [toc] 注&#xff1a;笔记主要参考B站江科大自化协教学视频“51单片机入门教程-2020版 程序全程纯手打 从零开始入门”。 注&#xff1a;工程及代码文件放在了本人的Github仓库。 7.1 LED点阵屏介绍 LED点阵屏由若干个独立的LED组成&#xff0c;LED以矩阵的形式排列…

前端灰度发布(定义 优点 原理 方式)

1. 什么是灰度发布&#xff1f; 灰度发布&#xff0c;又被称之为金丝雀发布&#xff0c;是指某次新发布功能特性和旧功能特性之间能够以平滑过渡的方式呈现给用户&#xff0c;就像金丝雀的羽毛一样多种颜色平滑渐变。 举个例子&#xff0c;某个已上线处于运行中的系统需要一次…

播放视频报403 forbidden的原因及解决方案

一、原因 1、原因&#xff1a;我们知道&#xff0c;在页面引入图片、JS 等资源&#xff0c;或者从一个页面跳到另一个页面&#xff0c;都会产生新的 HTTP 请求&#xff0c;浏览器一般都会给这些请求头加上表示来源的 Referrer 字段。图片服务器通过检测 Referrer 是否来自规定…

Cisco RV340命令执行漏洞(CVE-2022-20707)及关联历史漏洞分析

一、引言 本篇文章主要是对Cisco RV340命令执行漏洞(CVE-2022-20707)进行的研究分析&#xff0c;尽管利用此漏洞需要身份验证&#xff0c;但可以通过CVE-2022-20705绕过现有的身份验证机制实现无条件的命令执行。历史相关的漏洞还包括&#xff1a;CVE-2020-3451、CVE-2021-147…

客户案例 | 低代码上的西门子,工欲善其事必先利其器

关键发现 用户痛点&#xff1a;项目管理过程涉及的系统繁多&#xff0c;系统间状态不透明&#xff0c;数据查询困难&#xff1b;人工流程虽属个别&#xff0c;但易拉低总体效率并有可能出错&#xff1b;数据报告自动化程度低。 解决方案&#xff1a;利用西门子低代码开发平台开…

玩转电脑|WIN10如何添加打印机扫描到电脑

win10和win7 添加打印机扫描到电脑操作不一样&#xff0c;换了win10电脑后还是按照win7的方法进行添加&#xff0c;会发现win10系统添加京瓷6525FMP打印机的扫描地址时会出现链接错误&#xff0c;无法添加。是因为win10需要设置SMB权限之后&#xff0c;即可添加地址簿。一、配置…

OAuth2.0-授权码模式

解决问题 OAuth2.0授权码模式主要解决了信任问题&#xff1a;一个第三方网站需要访问我们Github上的数据&#xff08;例如用户头像&#xff09;&#xff0c;那Github为什么要信任该网站&#xff1f;该对网站信任到什么程度&#xff1f; 如果彻底信任该网站&#xff0c;那么将…

LeetCode链表相关解法

LeetCode链表相关解法1.移除链表元素[203. 移除链表元素](https://leetcode.cn/problems/remove-linked-list-elements/)不设置头节点设置虚拟头节点2.设计链表[707. 设计链表](https://leetcode.cn/problems/design-linked-list/)3.反转链表[206. 反转链表](https://leetcode.…