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

springboot集成mybatis(二)

简介:以前写过一篇关于springboot集成mybatis的文章,不过那篇文章是基于注解的,没有以xml的形式加载,这片文

       简介:以前写过一篇关于spring boot集成mybatis的文章,不过那篇文章是基于注解的,没有以xml的形式加载,这片文章比较通俗,完全是基于部分xml风格的,现在简单介绍下,以前那篇文章的地址在https://blog.csdn.net/xhf852963/article/details/98724831。

第一步:添加maven依赖

org.mybatis.spring.bootmybatis-spring-boot-starter1.1.1mysqlmysql-connector-java
第二步:在application.properties配置相关信息

spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jspspring.datasource.url=jdbc:mysql://localhost:3306/zlits_user?useSSL=false
spring.datasource.username=root
spring.datasource.password=Rfid123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql= true#是否检查配置文件
mybatis.check-config-location =true
#mybatis的配置文件的位置
mybatis.config-location=classpath:mybatis-config.xml
#mybatis的mapper文件的位置
mybatis.mapper-locations=classpath*:mapper/*Mapper.xml

第三步:建库建表

DROP DATABASE IF EXISTS zlits_user;
CREATE DATABASE zlits_user;
USE zlits_user;
SET FOREIGN_KEY_CHECKS=0;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (`ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',`NAME` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '名字',`PASSWORD` varchar(30) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL COMMENT '密码',`AGE` bigint(20) DEFAULT NULL COMMENT '年龄',PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='人员信息表';

第四步:工程代码结构如下 

第五步:服务端代码如下 

       UserMapper类

@Mapper
public interface UserMapper {int deleteByPrimaryKey(Long id);int insert(User record);int insertSelective(User record);User selectByPrimaryKey(Long id);int updateByPrimaryKeySelective(User record);int updateByPrimaryKey(User record);List selectAll();
}

       User类

public class User implements Serializable {private Long id;private String name;private String password;private Long age;private static final long serialVersionUID = 1L;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name == null ? null : name.trim();}public String getPassword() {return password;}public void setPassword(String password) {this.password = password == null ? null : password.trim();}public Long getAge() {return age;}public void setAge(Long age) {this.age = age;}@Overridepublic String toString() {StringBuilder sb = new StringBuilder();sb.append(getClass().getSimpleName());sb.append(" [");sb.append("Hash = ").append(hashCode());sb.append(", id=").append(id);sb.append(", name=").append(name);sb.append(", password=").append(password);sb.append(", age=").append(age);sb.append(", serialVersionUID=").append(serialVersionUID);sb.append("]");return sb.toString();}
}

       UserMapper.xml配置文件



ID, NAME, PASSWORD, AGEdelete from userwhere ID = #{id,jdbcType=BIGINT}SELECT LAST_INSERT_ID()insert into user (NAME, PASSWORD, AGE)values (#{name,jdbcType=VARCHAR}, #{password,jdbcType=VARCHAR}, #{age,jdbcType=BIGINT})SELECT LAST_INSERT_ID()insert into userNAME,PASSWORD,AGE,#{name,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{age,jdbcType=BIGINT},update userNAME = #{name,jdbcType=VARCHAR},PASSWORD = #{password,jdbcType=VARCHAR},AGE = #{age,jdbcType=BIGINT},where ID = #{id,jdbcType=BIGINT}update userset NAME = #{name,jdbcType=VARCHAR},PASSWORD = #{password,jdbcType=VARCHAR},AGE = #{age,jdbcType=BIGINT}where ID = #{id,jdbcType=BIGINT}

       UserService接口及实现类

public interface UserService {public List findAll();}@Service
public class UserServiceImpl implements UserService {@AutowiredUserMapper mapper;public List findAll() {System.out.println("执行了DAO层");return mapper.selectAll();}
}

       UserController类

@Controller
public class UserController {@AutowiredUserService userService;//查询@RequestMapping("/listUserCommon")public String listUser(Model model) {List users = userService.findAll();for (User user : users) {System.out.println(user.toString());}model.addAttribute("users", users);return "listUser";}
}

       jsp界面

<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"%>






<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c"%>

idnamepasswordage
${s.id}${s.name}${s.password}${s.age}


       在浏览器输入http://localhost:8080/listUserCommon

       简要说明&#xff1a;如果在UserMapper类上不添加&#64;Mapper类,那么就得在 启动类上添加&#64;MapperScan 注解&#xff0c;一般情况下都是在启动类上添加&#64;MapperScan注解&#xff0c;如果类比较多的话统一加一个标签就够了&#xff0c;加这个注解的标签主要是为了让spring进行管理&#xff0c;如果有多个dao&#xff0c;用逗号隔开即可&#64;MapperScan({"com.zit.cac.dao","com.zit.epms.dao"}) 


推荐阅读
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文详细解释了如何使用@IfProfileValue注解来检测Spring框架中的配置文件是否处于活动状态,并探讨其与@Profile和@activeProfiles的区别。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • Android LED 数字字体的应用与实现
    本文介绍了一种适用于 Android 应用的 LED 数字字体(digital font),并详细描述了其在 UI 设计中的应用场景及其实现方法。这种字体常用于视频、广告倒计时等场景,能够增强视觉效果。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 本文介绍如何使用布局文件在Android应用中排列多行TextView和Button,使其占据屏幕的特定比例,并提供示例代码以帮助理解和实现。 ... [详细]
  • 本文探讨了在Windows Server 2008环境下配置Tomcat使用80端口时遇到的问题,包括端口被占用、多项目访问失败等,并提供详细的解决方法和配置建议。 ... [详细]
  • 本文介绍了Android开发中Intent的基本概念及其在不同Activity之间的数据传递方式,详细展示了如何通过Intent实现Activity间的跳转和数据传输。 ... [详细]
author-avatar
鱼咸4406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有