一、SpringBoot与SpringDateJPA的整合

1-1、需求

查询数据库---->得到数据------>展示到页面上

1-2、整合步骤

1-2-1、创建SpringBoot工程

具体步骤查看我上一篇随笔

https://www.cnblogs.com/pengpengdeyuan/p/11798804.html

1-2-2、添加maven依赖(pom.xml)

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6.  
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-test</artifactId>
  10. <scope>test</scope>
  11. <exclusions>
  12. <exclusion>
  13. <groupId>org.junit.vintage</groupId>
  14. <artifactId>junit-vintage-engine</artifactId>
  15. </exclusion>
  16. </exclusions>
  17. </dependency>
  18. <!--添加springdatajpa的依赖-->
  19. <dependency>
  20. <groupId>org.springframework.boot</groupId>
  21. <artifactId>spring-boot-starter-data-jpa</artifactId>
  22. </dependency>
  23. <!--mysql-->
  24. <dependency>
  25. <groupId>mysql</groupId>
  26. <artifactId>mysql-connector-java</artifactId>
  27. </dependency>
  28. <!--freemarker模板 依赖-->
  29. <dependency>
  30. <groupId>org.springframework.boot</groupId>
  31. <artifactId>spring-boot-starter-freemarker</artifactId>
  32. </dependency>
  33. <!--Lombok依赖-->
  34. <dependency>
  35. <groupId>org.projectlombok</groupId>
  36. <artifactId>lombok</artifactId>
  37. <version>1.18.6</version>
  38. </dependency>
  39. <!--mybatis-->
  40. <dependency>
  41. <groupId>org.mybatis.spring.boot</groupId>
  42. <artifactId>mybatis-spring-boot-starter</artifactId>
  43. <version>1.1.1</version>
  44. </dependency>
  45. </dependencies>

1-2-3、创建MySQL数据表

  1. CREATE TABLE user(
  2. uid INT PRIMARY KEY AUTO_INCREMENT,
  3. username VARCHAR(30),
  4. `password` VARCHAR(10)
  5. );

1-2-4、在配置文件中配置数据库连接

在resources文件夹下创建application配置文件

提供两种配置文件,可任选其一

application.properties:

  1. spring.datasource.driver-class-name=com.mysql.jdbc.Driver
  2. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/user
  3. spring.datasource.username=(自己MySQL的用户名,一般为root
  4. spring.datasource.password=(自己MySQL的密码)
  5.  
  6. spring.jpa.database=MySQL
  7. spring.jpa.show-sql=true
  8. spring.jpa.generate-ddl=true

application.yml

  1. spring:
  2. datasource:
  3. driverClassName: com.mysql.jdbc.Driver
  4. url: jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
  5. username: (自己MySQL的用户名,一般为root
  6. password: (自己MySQL的密码)
  7. jpa:
  8. database: MySQL
  9. show-sql: true
  10. generate-ddl: true

1-2-5、创建User实体类对象

  1. @Entity//指定实体类,必须指定@id
  2. @Table(name = "user")//指定表名
  3. @Data//编译后自动生成所有属性的get\set方法、toString方法、hashCode方法、equals方法
  4. @AllArgsConstructor//编译后自动生成全参构造
  5. @NoArgsConstructor//编译后自动生成无参构造
  6. public class User {
  7. @Id//主键
  8. @GeneratedValue(strategy = GenerationType.IDENTITY)//自增
  9. private int uid;
  10. private String username;
  11. private String password;
  12. }

1-2-6、创建Controller层

  1. @RestController//相当于@ResponseBody跟@Controller
  2. public class UserController {
  3. @Autowired
  4. private UserDao userDao;
  5.  
  6. @RequestMapping(value = "/user")
  7. public List<User> getUser(){
  8. return userDao.findAll();
  9. }
  10. }

1-2-7、创建持久化层

  1. public interface UserDao extends JpaRepository<User,Integer> { }

1-2-8、启动项目后浏览器访问

二、SpringBoot与Mybatis的整合

在上一节的基础上,配置Mybatis

2-1、pom.xml文件

  1. <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.7.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.pk</groupId>
    <artifactId>springbootday02</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springbootday02</name>
    <description>Demo project for Spring Boot</description>
  2.  
  3. <properties>
    <java.version>1.8</java.version>
    </properties>
  4.  
  5. <dependencies>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  6.  
  7. <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    <exclusions>
    <exclusion>
    <groupId>org.junit.vintage</groupId>
    <artifactId>junit-vintage-engine</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
    <!--添加springdatajpa的依赖-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!--mysql-->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    </dependency>
    <!--freemarker模板 依赖-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>
    <!--Lombok依赖-->
    <dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.6</version>
    </dependency>
    <!--mybatis-->
    <dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>1.1.1</version>
    </dependency>
    </dependencies>
  8.  
  9. <build>
    <!--设置Mapper映射可在java或者resources文件夹下-->
    <resources>
    <resource>
    <directory>src/main/java</directory>
    <includes>
    <include>**/*.properties</include>
    <include>**/*.xml</include>
    </includes>
    <filtering>false</filtering>
    </resource>
    <resource>
    <directory>src/main/resources</directory>
    <includes>
    <include>**/*.*</include>
    </includes>
    <filtering>false</filtering>
    </resource>
    </resources>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    </plugins>
  10.  
  11. </build>
  12.  
  13. </project>

2-2、新建一个MyUser实体类

也可以直接用上一节的实体类,注意lombok注解与自己创建的构造器、set、get等方法不能重复

  1. public class MyUser {
  2. private int uid;
  3. private String username;
  4. private String password;
  5.  
  6. public MyUser(int uid, String username, String password) {
  7. this.uid = uid;
  8. this.username = username;
  9. this.password = password;
  10. }
  11.  
  12. public MyUser() {
  13. }
  14.  
  15. public int getUid() {
  16. return uid;
  17. }
  18.  
  19. public void setUid(int uid) {
  20. this.uid = uid;
  21. }
  22.  
  23. public String getUsername() {
  24. return username;
  25. }
  26.  
  27. public void setUsername(String username) {
  28. this.username = username;
  29. }
  30.  
  31. public String getPassword() {
  32. return password;
  33. }
  34.  
  35. public void setPassword(String password) {
  36. this.password = password;
  37. }
  38.  
  39. @Override
  40. public String toString() {
  41. return "MyUser{" +
  42. "uid=" + uid +
  43. ", username='" + username + '\'' +
  44. ", password='" + password + '\'' +
  45. '}';
  46. }
  47. }

2-3、创建Controller层类

  1. @Controller
  2. @RequestMapping("/myuser")
  3. public class MyUserController {
  4. @Autowired
  5. private MyUserMapper myUserMapper;
  6.  
  7. @RequestMapping(value = "/getMyUserList",method = RequestMethod.GET)
  8. public String getMyUserList(Model model){
  9. List<MyUser> userList = myUserMapper.getMyUserList();
  10. model.addAttribute("userList",userList);
  11. return "myuser";
  12. }
  13. }

2-4、创建mapper接口

  1. public interface MyUserMapper {
  2.  
  3. List<MyUser> getMyUserList();
  4.  
  5. }

2-5、创建mapper.xml文件

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="MyUserMapper接口的全路径名">
  6. <select id="getMyUserList" resultType="MyUser实体类的全路径名">
  7. select * from user
  8. </select>
  9. </mapper>

2-6、创建模板文件

在resources文件夹下的templates文件夹下创建myuser.ftl文件(Freemarker模板)

  1. <html>
  2. <head>
  3. <title>User</title>
  4. </head>
  5. <body>
  6. <table align="center" border="1px" cellpadding="5px" cellspacing="0px">
  7. <tr>
  8. <th>ID</th>
  9. <th>用户名</th>
  10. <th>密码</th>
  11. </tr>
  12. <#list userList as user>
  13. <tr>
  14. <td>${user.uid}</td>
  15. <td>${user.username}</td>
  16. <td>${user.password}</td>
  17. </tr>
  18. </#list>
  19. </table>
  20. </body>
  21. </html>

2-7、浏览器访问结果

SpringBoot与SpringDateJPA和Mybatis的整合的更多相关文章

  1. SpringBoot和Mybatis的整合

    这里介绍两种整合SpringBoot和Mybatis的模式,分别是“全注解版” 和 “注解xml合并版”. 前期准备开发环境 开发工具:IDEAJDK:1.8技术:SpringBoot.Maven.M ...

  2. SpringBoot+SpringMVC+MyBatis快速整合搭建

    作为开发人员,大家都知道,SpringBoot是基于Spring4.0设计的,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程.另外Spr ...

  3. springboot + mybatis + mycat整合

    1.mycat服务 搭建mycat服务并启动,windows安装参照. 系列文章: [Mycat 简介] [Mycat 配置文件server.xml] [Mycat 配置文件schema.xml] [ ...

  4. SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作

    SpringBoot+Mybatis+MybatisPlus整合实现基本的CRUD操作 1> 数据准备 -- 创建测试表 CREATE TABLE `tb_user` ( `id` ) NOT ...

  5. Sharding JDBC整合SpringBoot 2.x 和 MyBatis Plus 进行分库分表

    Sharding JDBC整合SpringBoot 2.x 和 MyBatis Plus 进行分库分表 交易所流水表的单表数据量已经过亿,选用Sharding-JDBC进行分库分表.MyBatis-P ...

  6. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十五)阶段总结

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 一 每个阶段在结尾时都会有一个阶段总结,在<SSM整合基础篇& ...

  7. SpringCloud+MyBatis+Redis整合—— 超详细实例(二)

    2.SpringCloud+MyBatis+Redis redis①是一种nosql数据库,以键值对<key,value>的形式存储数据,其速度相比于MySQL之类的数据库,相当于内存读写 ...

  8. SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例

    SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例 这是一个简单的SpringBoot整合实例 这里是项目的结构目录 首先是pom.xml ...

  9. SSM(Spring+SpringMVC+MyBatis)框架整合开发流程

    回忆了 Spring.SpringMVC.MyBatis 框架整合,完善一个小demo,包括基本的增删改查功能. 开发环境 IDEA MySQL 5.7 Tomcat 9 Maven 3.2.5 需要 ...

随机推荐

  1. opencv2配置window

    https://opencv.org/ opencv2 opencv3  opencv4 (现在到4版本) 二值化  图像拉伸 灰度  图像腐蚀 车牌识别 配置:https://blog.csdn.n ...

  2. Elasticsearch 动态修改replica配置、增删replica

    1. 获取当前所有index配置 curl -XGET http://localhost:9200/_settings 2. 获取某些index的配置 curl -XGET http://localh ...

  3. Linux应急响应

    1.识别现象 top / ps -aux 监控与目标IP通信的进程 while true; do netstat -antp | grep [ip]; done 若恶意IP变化,恶意域名不变,使用ho ...

  4. home_url()用法小结|wordpress函数

    home_url()检索可访问当前站点的URL(推荐将<?php bloginfo('url'); ?>用<?php home_url(); ?>来替代),使用适当的协议返回' ...

  5. USACO Roadblock

    洛谷 P2176 [USACO14FEB]路障Roadblock 洛谷传送门 JDOJ 2406: USACO 2014 Feb Silver 2.Roadblock JDOJ传送门1 JDOJ 24 ...

  6. windows下 zabbix agent心跳数据获取异常

    模板中的心跳监控项默认是主动性的,在windows下直接装上客户端后,如果不协调时间,可能会出现心跳数据异常, 因为是主动式的监控,agent上的数据主动的推送到server上,但是从server上看 ...

  7. Android 开发基础入门篇: 复制一个工程作为一个新的工程

    说明 咱们做项目很多时候都需要复制一份工程出来作为一个新的工程 把第一节的工程拷贝到这一节 修改工程名字 打开软件导入此工程 修改包名 第一节的时候说了,一个APP一个包名 自行添加修改 自行修改 自 ...

  8. 6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(Wi-Fi模块SSL连接MQTT)

    5-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(配置MQTT的SSL证书,验证安全通信) 首先确定自己的固件打开了SSL,升级篇里面的固件我打开了SSL,如 ...

  9. 洛谷P5021 赛道修建

    题目 首先考虑二分,然后发现最小长度越大的话,赛道就越少.所以可以用最终的赛道个数来判断长度是否合理.问题转化为给定一个长度,问最多有多少条互不重叠路径比这个给定长度大. 考虑贪心,毕竟贪心也是二分c ...

  10. TensorFlow分布式训练MNIST分类器

    http://c.biancheng.net/view/2004.html 本节以分布式方式训练完整的 MNIST 分类器. 该案例受到下面博客文章的启发:http://ischlag.github. ...