1.建立数据库
1.1 新建数据库
在Navicat Premium 中新建数据库,字符集与排序规则一般选择如图:
1.2 新的数据库创建完成后,选择新建表,设计表的标题如图:
然后,点击保存,表名取为:cc_class。
点击左侧目录中新建的表cc_class,在表中填写信息,如图:
选择下面的√保存表格。
1.3 点击对象,继续选择新建表:
1.3.1 创建一个老师的表:
1.3.2 创建一个学生的表:
过程与1.3.相同,表如下:
数据库创建完成。
2 查询数据
在Navicat Premium中查询数据
点击查询,然后点击新建查询。输入如图的语句:
SELECT * FROM cl_class WHERE class_name = 'class_one';
- 代表整行
点运行,结果如下:
也可以不输出整行,如下:
SELECT
class_name,
bs.student_name
FROM
cl_class
LEFT JOIN base_student AS bs ON bs.id = cl_class.student_id
WHERE
class_name = 'class_one';
以下为在IDEA中调用数据库数据
1 打开IDEA, 同时新建project
可以选择Custom,网址为:https://start.aliyun.com/
点击Finish,新建完成。
2 修改后的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>
<groupId>com.example</groupId>
<artifactId>demo-bak</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>demo-bak</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.4.RELEASE</spring-boot.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<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>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.4.RELEASE</version>
<configuration>
<mainClass>com.example.demobak.DemoBakApplication</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
3 在com.example.dempbak中建新建四个Package:
分别为:controller、entity、mapper、server。
分右击建好的Package,点 New-Java Calss,新建类。
其中Mapper下为接口。即同上,在新建Java Class时,选择如下:
全部建好后,如下:
4 在resources下新建一个Directoy.命名为:mapping。在mapping下再建一个FXML File,命名为:ClassMapper.xml。如下:
5 在新建的类和接口等中编写语句
5.1 BaseStudent类中
package com.example.demobak.entity;
public class BaseStudent {
private int id;
private String studentName;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
}
5.2 ClassMapper中:
package com.example.demobak.mapper;
import com.example.demobak.entity.BaseStudent;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@Repository
public interface ClassMapper {
BaseStudent findSomeOneMapper(@Param("sid") int studentId);
}
5.3 ClassServer中:
package com.example.demobak.server;
import com.example.demobak.entity.BaseStudent;
import com.example.demobak.mapper.ClassMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class ClassServer {
@Autowired
ClassMapper classMapper;
public BaseStudent findSomeOne(int studentId){
BaseStudent baseStudent = classMapper.findSomeOneMapper(studentId);
return baseStudent;
}
}
5.4 ClassController中:
package com.example.demobak.controller;
import com.example.demobak.entity.BaseStudent;
import com.example.demobak.server.ClassServer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class ClassController {
@Autowired
ClassServer classServer;
@RequestMapping("/findName")
@ResponseBody
public String findName(int student_id){
//查询学生姓名
BaseStudent baseStudent = classServer.findSomeOne(student_id);
System.out.println("学生姓名:" + baseStudent.getStudentName());
return baseStudent.getStudentName();
}
}
5.5 ClassMapper.xml中:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demobak.mapper.ClassMapper">
<resultMap id="BaseResultMap" type="com.example.demobak.entity.BaseStudent">
<result column="id" jdbcType="INTEGER" property="id" />
<result column="student_name" jdbcType="VARCHAR" property="studentName" />
</resultMap>
<select id="findSomeOneMapper" resultType="com.example.demobak.entity.BaseStudent">
select student_name as studentName from base_student where id = #{sid}
</select>
</mapper>
5.6 application.properties中:
# 应用名称
spring.application.name=demo-bak
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/cc_home?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
mybatis.mapper-locations=classpath:mapping/*Mapper.xml
mybatis.type-aliases-package=com.example.entity
注意修改为自己的password
5.7 DemobakApplication中:
package com.example.demobak;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@MapperScan("com.example.demobak.mapper")
@SpringBootApplication
public class DemoBakApplication {
public static void main(String[] args) {
SpringApplication.run(DemoBakApplication.class, args);
}
}
6 在浏览器输入:http://127.0.0.1:8080/findName?student_id=1
即可出现查询结果。
限于作者水平有限,有不足之处望大家指正!!!!!