热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于ssm的增删改查功能

1.在application.properties里面添加连接数据库的信息。spring.datasource.urljdbc:mysql:localhost:3306empdb?

1.在application.properties里面添加连接数据库的信息。

spring.datasource.url=jdbc:mysql://localhost:3306/empdb?characterEncoding=utf8&serverTimezone=Asia/Shanghai&useSSL=false
spring.datasource.username=root
spring.datasource.password= //写自己的数据库密码

2.创建Emp实体类,因为Mybatis框架是通过实体类和表之间的对应关系生成JDBC代码的,所以必须要有实体类。

public class Emp {private Integer id;private String name;private Integer sal;private String job;@Overridepublic String toString() {return "Emp{" +"id=" + id +", name='" + name + '\'' +", sal=" + sal +", job='" + job + '\'' +'}';}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 Integer getSal() {return sal;}public void setSal(Integer sal) {this.sal = sal;}public String getJob() {return job;}public void setJob(String job) {this.job = job;}
}

3.创建EmpMapper,Mybatis框架需要从EmpMapper接口中得到需要执行的SQL语句,以及对象和表之间的映射关系。在Mapper中添加@Mapper注解。


  • @Insert注解修饰一个insert方法。
  • @Select是查询的注解,返回值为集合,Mybatis框架生成的jdbc代码会将查询到的数据封装到Emp对象中,然后把Emp对象装进list集合,通过方法返回。

import entity.Emp;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;/*
* @Mapper
* 将接口交给Spring管理,不用再写pom.xml文件,为此接口生成一个实现类让其他类引用。
* */
@Mapper
public interface EmpMapper {@Insert("insert into myemp values(name,#{name},#{sal},#{job})")void insert(Emp emp);@Select("select * from myemp")List select();//查询带条件而且查询结果是一个对象时@Select("select * from myemp where id=#{id}")Emp selectById(int id);//查询到结果有多条数据,用一个对象作为返回会报错,应该用集合@Select("select * from myemp where name=#{name}")List selectByName(String name);//方法返回值为int时 返回的是生效的行数@Update("update myemp set name=#{name},sal=#{sal},job=#{job} where id=#{id}")int update(Emp emp);//删除注解@Delete("delete from myemp where id=#{id}")void deleteById(int id);
}

4.单元测试,在test目录下。

import cn.tedu.boot31_1.entity.Emp;
import cn.tedu.boot31_1.mapper.EmpMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class Boot311ApplicationTests {//把Mapper装配起来@Autowired(required = false)EmpMapper mapper;@Testvoid contextLoads() {Emp e = new Emp();e.setName("曹操");e.setSal(10000);e.setJob("司空");mapper.insert(e);}@Testvoid select(){List list = mapper.select();for (Emp e:list){System.out.println(e.getName()+":"+e.getSal()+":"+e.getJob());}}@Testvoid select02(){Emp e = mapper.selectById(3);System.out.println(e);}@Testvoid select03() {List list = mapper.selectByName("诸葛亮");System.out.println(list);}@Testvoid update(){Emp e = new Emp();e.setId(4);e.setName("卧龙");e.setSal(5000);e.setJob("程序员");int row = mapper.update(e);System.out.println("行数="+row);}@Testvoid delete(){mapper.deleteById(4);}
}

添加成功 

查询成功

查询id为3的

 查询两个诸葛亮

 修改id为4的诸葛亮信息并显示修改的条数

 

删除四号员工 


推荐阅读
  • 本文将详细介绍如何在SSM框架中无缝集成ShardingSphere 4.10,以实现高效的数据分片和读写分离。通过实例演示和代码解析,帮助开发者快速掌握这一复杂但实用的技术。文章从基础概念入手,逐步深入到具体配置和应用实践,旨在为读者提供一个全面、易懂的整合指南。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本教程详细介绍了如何使用 Spring Boot 创建一个简单的 Hello World 应用程序。适合初学者快速上手。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • MySQL Decimal 类型的最大值解析及其在数据处理中的应用艺术
    在关系型数据库中,表的设计与SQL语句的编写对性能的影响至关重要,甚至可占到90%以上。本文将重点探讨MySQL中Decimal类型的最大值及其在数据处理中的应用技巧,通过实例分析和优化建议,帮助读者深入理解并掌握这一重要知识点。 ... [详细]
  • C# 中 SQLite 报错:在 "\\s\\" 附近出现语法错误,如何解决? ... [详细]
  • 在使用 Cacti 进行监控时,发现已运行的转码机未产生流量,导致 Cacti 监控界面显示该转码机处于宕机状态。进一步检查 Cacti 日志,发现数据库中存在 SQL 查询失败的问题,错误代码为 145。此问题可能是由于数据库表损坏或索引失效所致,建议对相关表进行修复操作以恢复监控功能。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文深入探讨了Hibernate框架中乐观锁和悲观锁的机制及其多态特性。乐观锁假设数据在大多数情况下不会发生冲突,因此在读取数据时不加锁,而是在更新时检查版本号以确保数据未被修改。相比之下,悲观锁则认为数据在并发环境下容易产生冲突,因此在读取数据时立即加锁,以防止其他事务访问同一数据,从而避免潜在的数据不一致问题。文章还详细分析了这两种锁机制在实际应用中的优缺点,并介绍了Hibernate中的多态特性如何与锁机制结合,以实现更高效的数据管理和并发控制。 ... [详细]
  • 本文详细介绍了在 Oracle 数据库中使用 MyBatis 实现增删改查操作的方法。针对查询操作,文章解释了如何通过创建字段映射来处理数据库字段风格与 Java 对象之间的差异,确保查询结果能够正确映射到持久层对象。此外,还探讨了插入、更新和删除操作的具体实现及其最佳实践,帮助开发者高效地管理和操作 Oracle 数据库中的数据。 ... [详细]
  • 在Java Web服务开发中,Apache CXF 和 Axis2 是两个广泛使用的框架。CXF 由于其与 Spring 框架的无缝集成能力,以及更简便的部署方式,成为了许多开发者的首选。本文将详细介绍如何使用 CXF 框架进行 Web 服务的开发,包括环境搭建、服务发布和客户端调用等关键步骤,为开发者提供一个全面的实践指南。 ... [详细]
  • 在深入掌握Spring框架的事务管理之前,了解其背后的数据库事务基础至关重要。Spring的事务管理功能虽然强大且灵活,但其核心依赖于数据库自身的事务处理机制。因此,熟悉数据库事务的基本概念和特性是必不可少的。这包括事务的ACID属性、隔离级别以及常见的事务管理策略等。通过这些基础知识的学习,可以更好地理解和应用Spring中的事务管理配置。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
author-avatar
采臣--小青在这_203
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有