首先我们新建一个项目。
选择Spring Initializr 基本配置,选择jdk。
配置包名。随意。
下一步 注意添加依赖:
观察右边的选择项 共五个依赖(用于pom.xml自动导入依赖配置项,自动下载maven需要的包)
next 进入idea主界面
如图配置自己的maven仓库 (自己预先下载好你需要的版本,版本问题不可忽视。)
如果没有的话也可以使用idea自带的 跳过这一步即可。
接下来查看 pom.xml(之前已经配置过一些依赖所以 pom.xml里面是有东西的)
值得注意的是因为版本问题 我的 application配置文件 jdbc一直报红 删除这个版本标签后就好了。
以下是 pom.xml 完整代码。
<?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 http://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.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>oa</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>oa</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-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</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>2.0.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- mybatis generator 自动生成代码插件 -->
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile>
<overwrite>true</overwrite>
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
</project>
配置完成后 右击pom.xml 更新一下所需的jar包。(maven会自动根据所需jar包下载)
接下来配置 application文件(项目配置文件)
一开始创建的项目是 application.properties 配置文件。
application.yml 的语句更简洁。删除application.properties 新建一个application.yml即可
注意mybatis配置 映射路径。mapper 要放到资源文件夹(resources)下。注意观察文件结构。
server:
port: 8080
spring:
datasource:
name: test
url: jdbc:mysql://127.0.0.1:3306/oa2?serverTimezone=GMT%2B8
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
thymeleaf:
prefix: classpath:/templates/
mybatis:
#注意:一定要对应mapper映射xml文件的所在路径
type-aliases-package: com.example.oa.entity # 注意:对应实体类的路径
mapper-locations: classpath:mapper/*.xml
至此 一个springboot+mybatis的项目已经基本配置完毕。
下面我们来 用网页简单的验证一下 交互问题。
各个文件夹以及类文件
Control层代码
package com.example.oa.controller;
import com.example.oa.entity.User;
import com.example.oa.service.UserLoginService;
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.RequestParam;
import javax.servlet.http.HttpServletRequest;
/**
* @author meng
* @date 2019/3/24
*/
@Controller
@RequestMapping(value = {"/user"})
public class UserLoginController {
/**
* 注入service
*/
@Autowired
private UserLoginService userLoginService;
/**
* 跳转到用户登录页面
* @return 登录页面
*/
@RequestMapping(value = {"/loginHtml"})
public String loginHtml(){
return "userLogin";
}
/**
* 跳转到用户注册页面
* @return 注册页面
*/
@RequestMapping(value = {"/registerpage"})
public String registerpage(){
return "register";
}
/**
* 获取用户名与密码,用户登录
* @return 登录成功页面
*/
@RequestMapping(value = {"/userLogin"})
public String userLogin(){
User user = userLoginService.userLogin();
System.out.println(user.toString());
if(user != null){ //登录成功
return "index";
}
return "loginError";
}
}
Dao层
package com.example.oa.dao;
import com.example.oa.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface UserDao {
//用户登录
User userlogin();
}
实体类:(数据库表结构参照实体类 创建即可。)
package com.example.oa.entity;
import java.io.Serializable;
/**
* @author meng
* @date 2019/3/24
*/
public class User {
private Integer id;
private String username;
private String password;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
", age=" + age +
'}';
}
}
service :
package com.example.oa.service;
import com.example.oa.dao.UserDao;
import com.example.oa.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserLoginService {
/**
* 注入dao
*/
@Autowired
private UserDao s1dao;//这里要是无意义爆红 则是Dao 没有加@Repository
//用户登录
public User userLogin(){
User user =s1dao.userlogin();
return user;
}
}
mapper:
<?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.oa.dao.UserDao" >
<!--用户登录验证-->
<select id="userlogin" resultType="com.example.oa.entity.User" >
SELECT id,username,password,age FROM user where id=1
</select>
</mapper>
以下是页面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户登录</title>
</head>
<body>
请输入用户名与密码登录
<form action="/user/userLogin" method="post">
《若数据库连接 成功则跳转成功 ,否则自行查看报错信息 》
<input type="submit" value="登录" />
</form>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录成功</title>
</head>
<body>
<h1>成功连接数据库!登录成功!!!</h1>
</body>
</html>
数据库表结构
开始 测试:
点击登录:
简单的验证了交互 成功。
第一次写博客 诸多不足,或是考虑不周。大家多多担待。
如有错误请不吝指正。谢谢。