1.添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<!--用于编译jsp-->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<!--默认数据库连接-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- jstl依赖2 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
(1)pom.xml中alt+insert添加的一些mybatis依赖如下,添加到tomcat启动不报错但无法对对数据库操作,我这边提供一个可用的如上
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.0</version>
</dependency>
(2)我装的mysql8.16比较新,这边不指定版本,让springboot自行指定最优
(3)jsp依赖如上
(4) jstl依赖,用于对jsp页面处理(遍历)接收后台数据库List集合,在jsp页面显示
我这边自定义一个按姓名查找的方法,集合通过Model传回jsp页面
2.配置文件
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db_person?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8
username: root
password: 123456
jpa:
hibernate:
ddl-auto: update
show-sql: true
mvc:
view:
prefix: /WEB-INF/
suffix: .jsp
3.控制类
@Controller
public class PersonController {
@Resource
private PersonDao personDao;
@RequestMapping("/query")
public String Query(Model model){
model.addAttribute("q1", personDao.findBy(qq));
return "query";
}
}
自动建表主要代码
这边toString ,setller和getter方法不罗列
@Entity
@Table(name="t_person")
public class Person {
@Id
@GeneratedValue
private Integer id;
@NotEmpty(message="名字不能为空")
@Column(length=30)
private String name;
@Min(value=16,message="年龄应大于16岁")
@Column(length=30)
private String age;
@Max(value=12,message="号码小于12")
@Column(length=50)
private String number;
4.数据库处理类
@Mapper
public interface PersonDao{
@Select("select * from t_person where name like'%${value}%'")
//@Transactional(readOnly = true)
List<Person> findBy(String name);
}
5.JSP
我这边放在main/webapp/WEB-INF/目录下,这边没几行就全放了
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<table>
<thead>
<tr>
<th>序号</th>
<th>年龄</th>
<th>姓名</th>
<th>号码</th>
</tr>
</thead>
<tbody>
<c:forEach items="${q1}" var="u">
<tr>
<td>${u.id}</td>
<td>${u.age}</td>
<td>${u.name}</td>
<td>${u.number}</td>
</tr>
</c:forEach>
</tbody>
</table>
</body>
</html>