SSM整合(增删改查)

该博客详细介绍了如何进行SSM(Spring、SpringMVC、Mybatis)框架的整合,从环境配置到数据库表创建,再到各层的编写,包括DAO、Service、SpringMVC的配置以及增删改查的具体实现。内容涵盖数据库配置、Mapper接口和XML文件、Controller层处理、视图展示等关键步骤,并展示了完整的操作结果。
摘要由CSDN通过智能技术生成

1- 环境基本要求

基本环境

  • IDEA
  • MySQL 5.7
  • Tomcat 9
  • Maven 3.6

2- 数据库环境

创建一个书籍数据的数据库表

-- 创建数据库
create database db_ssm;
-- 使用数据库
use db_ssm;

drop table if exists books;

-- 创建数据表
create table `books` (
	`bookid` int(10) not null auto_increment comment '书id',
	`bookname` varchar(100) not null comment '书名',
	`bookcounts` int(11) not null comment '数量',
	`detail` varchar(200) not null comment '描述',
	key `bookid` (`bookid`)
) engine=innodb default charset=utf8

-- 插入数据
insert  into `books`(`bookid`,`bookname`,`bookcounts`,`detail`)values
(1,'java',1,'java编程并发实战'),
(2,'mysql',10,'mysql必知必会'),
(3,'linux',5,'现代操作系统'), 
(4,'c语言',2,'明解c语言');

3- 基本环境搭建

3.1 项目目录

3.2 pom依赖
<dependencies> 
    <!--Junit-->  
    <dependency> 
      <groupId>junit</groupId>  
      <artifactId>junit</artifactId>  
      <version>4.12</version> 
    </dependency>  
    <!--数据库驱动-->  
    <dependency> 
      <groupId>mysql</groupId>  
      <artifactId>mysql-connector-java</artifactId>  
      <version>5.1.47</version> 
    </dependency>  
    <!--数据库连接池-->  
    <dependency> 
      <groupId>com.alibaba</groupId>  
      <artifactId>druid</artifactId>  
      <version>1.1.10</version> 
    </dependency>  
    <!--Servlet - JSP -->  
    <dependency> 
      <groupId>javax.servlet</groupId>  
      <artifactId>servlet-api</artifactId>  
      <version>2.5</version> 
    </dependency>  
    <dependency> 
      <groupId>javax.servlet.jsp</groupId>  
      <artifactId>jsp-api</artifactId>  
      <version>2.2</version> 
    </dependency>  
    <dependency> 
      <groupId>javax.servlet</groupId>  
      <artifactId>jstl</artifactId>  
      <version>1.2</version> 
    </dependency>  
    <!--Mybatis-->  
    <dependency> 
      <groupId>org.mybatis</groupId>  
      <artifactId>mybatis</artifactId>  
      <version>3.5.2</version> 
    </dependency>  
    <dependency> 
      <groupId>org.mybatis</groupId>  
      <artifactId>mybatis-spring</artifactId>  
      <version>2.0.2</version> 
    </dependency>  
    <!--Spring-->  
    <dependency> 
      <groupId>org.springframework</groupId>  
      <artifactId>spring-webmvc</artifactId>  
      <version>5.1.9.RELEASE</version> 
    </dependency>  
    <dependency> 
      <groupId>org.springframework</groupId>  
      <artifactId>spring-jdbc</artifactId>  
      <version>5.1.9.RELEASE</version> 
    </dependency>  
    <!--Lombok-->  
    <dependency> 
      <groupId>org.projectlombok</groupId>  
      <artifactId>lombok</artifactId>  
      <version>1.16.10</version> 
    </dependency> 
</dependencies>  
3.3 静态资源导出
<build> 
    <resources> 
      <resource> 
        <directory>src/main/java</directory>  
        <includes> 
          <include>**/*.properties</include>  
          <include>**/*.xml</include> 
        </includes>  
        <filtering>false</filtering> 
      </resource>  
      <resource> 
        <directory>src/main/resources</directory>  
        <includes> 
          <include>**/*.properties</include>  
          <include>**/*.xml</include> 
        </includes>  
        <filtering>false</filtering> 
      </resource> 
    </resources> 
  </build> 
</project>

4- Mybatis层编写

4.1 数据库配置文件

database.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/db_ssm
jdbc.username=root
jdbc.password=root
4.2 MyBatis的核心配置文件

mybatis-config.xml


                
使用Ajax实现SSM整合增删改查可以按照以下步骤进行操作: 1. 在前端页面中引入jQuery库,确保能够使用jQuery的Ajax方法。 2. 创建前端页面,包括相应的表单和按钮,用于用户输入数据和触发相应的操作。 3. 在后端创建相应的Controller类,用于处理前端请求,并调用后端的Service层进行数据操作。 4. 在Controller类中定义相应的方法,用于处理前端请求,并返回相应的结果。 5. 在Service层中定义相应的接口和实现类,用于处理后端数据操作。 6. 在Mapper层中定义相应的SQL语句,用于操作数据库。 7. 在前端页面中编写相应的JavaScript代码,使用Ajax方法向后端发送请求,并处理返回的结果。 下面是一个简单的示例代码: 在前端页面中的JavaScript代码: ```javascript // 添加数据 function addData() { var data = { name: $("#name").val(), age: $("#age").val(), // 其他字段... }; $.ajax({ type: "POST", url: "/addData", data: JSON.stringify(data), contentType: "application/json", success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } // 删除数据 function deleteData(id) { $.ajax({ type: "POST", url: "/deleteData", data: {id: id}, success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } // 修改数据 function updateData(id) { var data = { id: id, name: $("#name").val(), age: $("#age").val(), // 其他字段... }; $.ajax({ type: "POST", url: "/updateData", data: JSON.stringify(data), contentType: "application/json", success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } // 查询数据 function queryData(id) { $.ajax({ type: "GET", url: "/queryData", data: {id: id}, success: function(result) { // 处理成功返回的结果 }, error: function(error) { // 处理错误信息 } }); } ``` 在后端Controller类中的方法: ```java @Controller public class DataController { @Autowired private DataService dataService; @RequestMapping(value = "/addData", method = RequestMethod.POST) @ResponseBody public String addData(@RequestBody Data data) { // 处理添加数据的逻辑 dataService.addData(data); return "success"; } @RequestMapping(value = "/deleteData", method = RequestMethod.POST) @ResponseBody public String deleteData(@RequestParam("id") Integer id) { // 处理删除数据的逻辑 dataService.deleteData(id); return "success"; } @RequestMapping(value = "/updateData", method = RequestMethod.POST) @ResponseBody public String updateData(@RequestBody Data data) { // 处理修改数据的逻辑 dataService.updateData(data); return "success"; } @RequestMapping(value = "/queryData", method = RequestMethod.GET) @ResponseBody public Data queryData(@RequestParam("id") Integer id) { // 处理查询数据的逻辑 return dataService.queryData(id); } } ``` 这样就可以通过Ajax实现SSM整合增删改查了。根据实际需求,可以在前端页面中调用相应的函数,实现相应的功能。在后端Controller类中处理前端请求,并调用Service层进行数据操作,在Service层中处理具体的业务逻辑,并调用Mapper层进行数据库操作。最后,通过Ajax方法向后端发送请求,并处理返回的结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值