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

SpringBoot+MybatisPlus+Mysql+JSP实战

这篇文章主要介绍了SpringBoot+MybatisPlus+Mysql+JSP实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文主要介绍了SpringBoot+MybatisPlus+Mysql+JSP实战,分享给大家,具体如下:

放个效果图:

在这里插入图片描述

准备项目

首先在MySql控制台输入一下sql语句创建student 数据库和student。

create databse student;
use student;
CREATE TABLE `student` (
 `stu_id` bigint(20) NOT NULL,
 `stu_name` varchar(45) DEFAULT NULL,
 `stu_sex` varchar(6) DEFAULT NULL,
 `date` varchar(45) DEFAULT NULL,
 `room` int(2) DEFAULT NULL,
 `acadimy` varchar(45) DEFAULT NULL,
 PRIMARY KEY (`stu_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

SpringBoot

在这里插入图片描述

修改项目名称,点击next

在这里插入图片描述

这里直接点next

在这里插入图片描述

第一次打开会很慢
打开后删除用不到的文件

在这里插入图片描述

连接MySql

修改 application.properties 为 application.yml

在这里插入图片描述

插入一下代码
要修改的内容: url: jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezOne=UTC&&characterEncoding=utf-8中的student改为自己的数据库名称

spring:
 #配置 数据库
 datasource:
  username: root #用户名
  password: akbar #密码
  #下一行中student 改为 自己建的database 
  url: jdbc:mysql://localhost:3306/student?useSSL=false&serverTimezOne=UTC&&characterEncoding=utf-8
  driver-class-name: com.mysql.cj.jdbc.Driver
#  配置JSP 路径
 mvc:
  view:
   prefix: /   
   suffix: .jsp

#mybatis-plus 打印日志 不需要手写sql 可查看把我们完成的sql 
mybatis-plus:
 configuration:
  log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 设置端口号
server:
 port: 8001

pom.xml 依赖包

在这里插入图片描述


    
      org.springframework.boot
      spring-boot-starter-web
    

    
      mysql
      mysql-connector-java
    

    
      com.baomidou
      mybatis-plus-boot-starter
      3.0.5
    


    
    
      org.apache.velocity
      velocity-engine-core
      2.0
    

    
      org.freemarker
      freemarker
    
    
      org.apache.tomcat.embed
      tomcat-embed-jasper
    
    
    
      javax.servlet
      javax.servlet-api
    
    

    
    
      javax.servlet.jsp
      javax.servlet.jsp-api
      2.3.1
    
    

    
    
      javax.servlet
      jstl
    
    
      org.springframework.boot
      spring-boot-starter-test
      test
      
        
          org.junit.vintage
          junit-vintage-engine
        
      
    
  

IDEA 链接数据库

IDEA 链接本地MySql数据库 (可以确定Mysql能正常访问 ,方便我们调试)
1.点击屏幕右侧Database
2.点击如下如的加号
3.DataSource
4.选择Mysql

在这里插入图片描述

在这里插入图片描述

**如上图所示表示成功连接,如果报错,检查用户名,密码,数据库名称 **

常见问题:时区(time zone)相关的报错Mysql控制台写下面的代码 重新Test Connection 。

set global time_zOne='+8:00';

连接成功可以看到刚才见的数据库

在这里插入图片描述

为了方便我们测试点击加号“+”增加两条记录 增加完成后点击如下图DB的小图标(如果没看到鼠标移到大概位置会显示别出来)

在这里插入图片描述

代码生成器(不用我们自己写实体类,controller ,mapper,service等) 在下图目录下测试类新建一个类GenerateCode

在这里插入图片描述

代码如下:

需要修改的地方:
1.这里修改成你自己的

pg.setParent("com.example.xxxx");

2.改称自己的昵称

 gc.setAuthor("艾科"); 

3.把下边的student 改为自己建的数据库名称

dsc.setUrl("jdbc:mysql://localhost:3306/studentuseSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezOne=GMT%2B8");`

4.// 版本8.0以下去掉中间的cj

dsc.setDriverName("com.mysql.cj.jdbc.Driver"); //8.0
dsc.setDriverName("com.mysql.jdbc.Driver"); //8.0以下

5.数据库用户名和密码

 dsc.setUsername("root");
 dsc.setPassword("root"); 

6.最后一个也是最重要的:这里是自己的数据不哭表

strategy.setInclude("student");

代码如下:

public class GenerateCode {

  public static void main(String[] args) {

    AutoGenerator ag=new AutoGenerator();

//     全局配置
    GlobalConfig gc=new GlobalConfig();
    String projectPath=System.getProperty("user.dir"); //获取项目根目录
    gc.setOutputDir(projectPath+"/src/main/java"); //设置输出目录
    gc.setAuthor("艾科"); //代码注解
    gc.setOpen(false); 
    gc.setFileOverride(false); //是否覆盖(选否)不然会覆盖掉写过的代码
    gc.setServiceName("%sService"); 
    gc.setIdType(IdType.ID_WORKER); // 可以根据需求改成IdType.AUTO 或者其他
    gc.setDateType(DateType.ONLY_DATE); //Date 类型 只使用 java.util.date 代替
    ag.setGlobalConfig(gc);
//     设置数据源
    DataSourceConfig dsc=new DataSourceConfig(); //不要忘了修改数据库名称
    dsc.setUrl("jdbc:mysql://localhost:3306/student?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezOne=GMT%2B8");
    dsc.setDriverName("com.mysql.cj.jdbc.Driver");//8.0用com.mysql.cj.jdbc.Driver 5.7用com.mysql.jdbc.Driver
    dsc.setUsername("root");
    dsc.setPassword("root");
    dsc.setDbType(DbType.MYSQL); //数据库类型
    ag.setDataSource(dsc);

//   包的配置

    PackageConfig pg=new PackageConfig();
//     pg.setModuleName("")
    pg.setParent("com.example.xxxx"); //把xxx 改成你自己的
    pg.setEntity("entity"); //实体类创建目录
    pg.setMapper("mapper");//mapper
    pg.setController("controller");//controoler
    ag.setPackageInfo(pg);

    StrategyConfig strategy = new StrategyConfig();
    strategy.setNaming(NamingStrategy.underline_to_camel); //代码风格驼峰结构
    strategy.setColumnNaming(NamingStrategy.underline_to_camel);
    strategy.setEntityLombokModel(false);
    strategy.setRestControllerStyle(true);
    strategy.setInclude("student");   // table 名称 ,根据table 名称生成 实体类,controller,service, mmapper 
   //  strategy.setInclude("student,user,class");   // 多个表用都逗号分开
    strategy.setControllerMappingHyphenStyle(true);
    ag.setStrategy(strategy);
    ag.execute();
  }

改完了执行该类

在这里插入图片描述

在这里插入图片描述

MyBatis Plus

把下图目录中的xxxxApplication 加上 @MapperScan(“com.xxxx.xx.mapper”) mapper 包名r如下图所示(改成你自己的mapper 的包名)

在这里插入图片描述

**如果怕敲错可以复制StudentMpaper 中的packege **

在这里插入图片描述

@MapperScan("com.example.student.mapper")
@SpringBootApplication
public class StudentApplication {

  public static void main(String[] args) {
    SpringApplication.run(StudentApplication.class, args);

  }
}

MyBatis Plus 简单查询 (这个可以留到最后写作业的时候学 PS:肯定会用到)

 		@Autowired
  	StudentMapper studentMapper;
  
  //    Mybatis plus 查询 student 表中的数据 返回List 类型
//  相当于:  SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student
    List list = studentMapper.selectList(null);
    list.forEach(System.out::println);

//    通过id 查询 相当于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_id=1
    Student student1 = studentMapper.selectById(1);
//    条件查询 查询单个 相当于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_name = ? AND stu_sex = ?
    QueryWrapper wrapper = new QueryWrapper<>();
    wrapper.eq("stu_name", "小明");
    wrapper.eq("stu_sex", "男");
    Student student2 = studentMapper.selectOne(wrapper);

    //    条件查询 查询列表 相当于:SELECT stu_id,stu_name,stu_sex,date,room,acadimy FROM student WHERE stu_id > 1

    QueryWrapper wrapper1 = new QueryWrapper<>();

    wrapper1.gt("stu_id", 1);

    Student student3 = studentMapper.selectOne(wrapper1);

    SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
    String date=simpleDateFormat.format(System.currentTimeMillis());
//    insert 相当于 :
//    INSERT INTO student ( stu_id, stu_name, stu_sex, date, room, acadimy ) VALUES ( &#63;, &#63;, &#63;, &#63;, &#63;, &#63; ) 
//==> Parameters: 1280830334286217217(Long), aike(String), 男(String), 2020-07-08(String), 226(Integer), 计算机(String)
    Student student=new Student();
    student.setStuName("aike");
    student.setStuSex("男");
    student.setDate(date);
    student.setRoom(226);
    student.setAcadimy("计算机");
    studentMapper.insert(student);

更多复杂查询查询官网-----> MyBatis-Plus 官网

 访问JSP页面

之前在pom.xml 中导入了相关的依赖包了

在mian 目录下创建 webapp 文件夹

在这里插入图片描述

在这里插入图片描述

在webapp 目录下创建 student.jsp文件

在这里插入图片描述

在这里插入图片描述

student.jsp文件内容如下 把瞎下面的文件放到 student.jsp

<%@ page language="java" cOntentType="text/html; charset=utf-8"
     pageEncoding="utf-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>



  
  
  
  





ID 姓名 性别 学院 入学时间 宿舍号
${stu.stuId} ${stu.stuName} ${stu.stuSex} ${stu.acadimy} ${stu.date} ${stu.room}

到此这篇关于SpringBoot+MybatisPlus+Mysql+JSP实战的文章就介绍到这了,更多相关SpringBoot MybatisPlus Mysql JSP内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
author-avatar
剧情归一_905
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有