热门标签 | 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的诸葛亮信息并显示修改的条数

 

删除四号员工 


推荐阅读
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了PhysioNet网站提供的生理信号处理工具箱WFDB Toolbox for Matlab的安装和使用方法。通过下载并添加到Matlab路径中或直接在Matlab中输入相关内容,即可完成安装。该工具箱提供了一系列函数,可以方便地处理生理信号数据。详细的安装和使用方法可以参考本文内容。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • Day2列表、字典、集合操作详解
    本文详细介绍了列表、字典、集合的操作方法,包括定义列表、访问列表元素、字符串操作、字典操作、集合操作、文件操作、字符编码与转码等内容。内容详实,适合初学者参考。 ... [详细]
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社区 版权所有