springBoot入门_查询数据库demo
选择需要依赖的Starter,这里勾选了Spring Web、MySQL Driver和 MyBatis Framework。
新建User类,并生成set、get方法
编写接口UserMapper。
注意:需要使用@Mapper注解,不然SpringBoot无法扫描。
编写mapper/UserMapper.xml文件(在resources文件中)
注意:1.namespace中需要与使用@Mapper的接口对应
2.UserMapper.xml文件名称必须与使用@Mapper的接口一致
3.标签中的id必须与@Mapper的接口中的方法名一致,且参数一致(此图中的类路径有问题,需要换成右图的真实类路径)
编写服务层接口
编写服务层实现类
注意:需要在接口实现类中使用@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;
}
}
增加配置文件:
本次项目使用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的配置文件,使用注解。
在刚才的项目上删除 。直接在UserMapper上加如**解。
可运行的项目代码:
第一个项目demo:
第二个升级版的demo: