热门标签 | 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"}) 


推荐阅读
  • springMVC JRS303验证 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 使用JS、HTML5和C3创建自定义弹出窗口
    本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ... [详细]
  • 深入解析Spring Boot自动配置机制
    本文旨在深入探讨Spring Boot的自动配置机制,特别是如何利用配置文件进行有效的设置。通过实例分析,如Http编码自动配置,我们将揭示配置项的具体作用及其背后的实现逻辑。 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]
  • Spring Boot 中静态资源映射详解
    本文深入探讨了 Spring Boot 如何简化 Web 应用中的静态资源管理,包括默认的静态资源映射规则、WebJars 的使用以及静态首页的处理方法。通过本文,您将了解如何高效地管理和引用静态资源。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • 本文探讨了如何通过一系列技术手段提升Spring Boot项目的并发处理能力,解决生产环境中因慢请求导致的系统性能下降问题。 ... [详细]
  • Logback使用小结
    1一定要使用slf4j的jar包,不要使用apachecommons的jar。否则滚动生成文件不生效,不滚动的时候却生效~~importorg.slf ... [详细]
  • 烤鸭|本文_Spring之Bean的生命周期详解
    烤鸭|本文_Spring之Bean的生命周期详解 ... [详细]
  • 探讨了在 Spring MVC 框架下,JSP 页面使用 标签时遇到的数据无法正确显示的问题,并提供了可能的原因和解决方案。 ... [详细]
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社区 版权所有