欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springBoot入门_查询数据库demo

程序员文章站 2022-05-03 13:13:44
...

springBoot入门_查询数据库demo

springBoot入门_查询数据库demo 选择需要依赖的Starter,这里勾选了Spring Web、MySQL Driver和 MyBatis Framework。 

springBoot入门_查询数据库demo

springBoot入门_查询数据库demo

springBoot入门_查询数据库demo

新建User类,并生成set、get方法

springBoot入门_查询数据库demo

 编写接口UserMapper。

注意:需要使用@Mapper注解,不然SpringBoot无法扫描。

springBoot入门_查询数据库demo

 

编写mapper/UserMapper.xml文件(在resources文件中)

注意:1.namespace中需要与使用@Mapper的接口对应

          2.UserMapper.xml文件名称必须与使用@Mapper的接口一致

          3.标签中的id必须与@Mapper的接口中的方法名一致,且参数一致(此图中的类路径有问题,需要换成右图的真实类路径)

springBoot入门_查询数据库demo

 编写服务层接口

springBoot入门_查询数据库demo

 编写服务层实现类

 

 springBoot入门_查询数据库demo

注意:需要在接口实现类中使用@Service注解,才能被SpringBoot扫描,在Controller中使用@Authwired注入

package com.example.querybysql.service.impl;

import com.example.querybysql.dao.UserMapper;
import com.example.querybysql.entity.User;
import com.example.querybysql.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class UserServiceimpl implements UserService {

    @Autowired
    private UserMapper userMapper;
    @Override
    public List<User> listAllUser() {
        List<User> list = userMapper.findAll();
        return list;
    }

    @Override
    public User getUser(Long id) {
        User user = userMapper.findOne(id);
        return user;
    }
    @Override
    public int createUser(User user) {
        int cnt = userMapper.insert(user);
        return cnt;
    }

    @Override
    public int deleteUser(Long id) {
        int cnt = userMapper.delete(id);
        return cnt;
    }
}

增加配置文件:

springBoot入门_查询数据库demo 本次项目使用yml的配置方式(看起来简洁)properties文件为空,这里不管他了。

spring:
#数据库连接配置
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboottest?useSSL=false&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
    username: root
    password: root

#mybatis的相关配置
mybatis:
  #mapper配置文件
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.querybysql.entity
  #开启驼峰命名
  configuration:
    map-underscore-to-camel-case: true

项目的pom文件如下:

<?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.3.4.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>querybysql</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>querybysql</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.0.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>
        <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>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

运行程序即可。

启动SpringBoot项目(run Demo02Application),并在浏览器中访问以下路径(为了演示方便,全部参与get方法):

1)所有用户信息取得

http://localhost:8080/user/list

2)指定用户信息取得

http://localhost:8080/user/detail/{id}

3)创建用户信息

http://localhost:8080/user/add?id={id}&name={name}&mobile={mobile}&email={email}

4)指定用户信息删除

http://localhost:8080/user/delete/{id}

升级版本: 去除mapper的配置文件,使用注解。

在刚才的项目上删除springBoot入门_查询数据库demo 。直接在UserMapper上加如**解。

 

springBoot入门_查询数据库demo

可运行的项目代码:

第一个项目demo:

第二个升级版的demo: 

 

相关标签: springBoot