整个项目目录
4.0.0
cn.xyz
springboot-mybatis
0.0.1-SNAPSHOT
jar
springboot-mybatis
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.1.0.RELEASE
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-web
org.mybatis.spring.boot
mybatis-spring-boot-starter
1.3.1
mysql
mysql-connector-java
runtime
com.alibaba
druid
1.1.8
org.springframework.boot
spring-boot-starter-test
test
net.minidev
json-smart
2.2.1
org.springframework.boot
spring-boot-starter-thymeleaf
org.springframework.boot
spring-boot-maven-plugin
创建项目是勾选了IDE会自动导入相应的依赖,你只需要导入druid连接池即
2. application.yml
spring:
datasource:
# 数据源基本配置
username: root
password: 123
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
type: com.alibaba.druid.pool.DruidDataSource
# 数据源其他配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,log4j
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
mybatis:
# 指定全局配置文件位置
config-location: classpath:mybatis/mybatis-config.xml
# 指定sql映射文件位置
mapperLocations: classpath:mybatis/mapper/*.xml
typeAliasesPackage: cn.xyz.entity
3. 实体类user
package cn.xyz.entity;
import java.io.Serializable;
public class User implements Serializable {
private String username;
private String password;
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;
}
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
4. dao层UserDao
package cn.xyz.dao;
import cn.xyz.entity.User;
import org.springframework.stereotype.Repository;
@Repository
public interface UserDao{
public void inserUser(String username,String password);
public User selectUser(String username,String password);
}
5. UserMapper.xml 注意文件路径与application.yml配置一致 # 指定sql映射文件位置
mapperLocations: classpath:mybatis/mapper/*.xml
insert user (username,password) values (#{username},#{password})
6.mybatis的总配置文件mybatis-config.xml
7. 服务层
接口
package cn.xyz.service;
import cn.xyz.entity.User;
public interface UserService {
public boolean inserUser(String username,String password);
public User selectUser(String username,String password);
}
实现类
package cn.xyz.service;
import cn.xyz.dao.UserDao;
import cn.xyz.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserServiceImpl{
@Autowired
private UserDao userDao;
public boolean inserUser(String username, String password) {
userDao.inserUser(username,password);
return true;
}
public User selectUser(String username,String password) {
System.out.println(username+" "+username);
return userDao.selectUser(username,password);
}
}
8. 控制层
package cn.xyz.controller;
import cn.xyz.entity.User;
import cn.xyz.service.UserServiceImpl;
import java.util.Map;
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 UserController {
@Autowired
private UserServiceImpl userServiceImp;
@RequestMapping("/login")
public String login(){
return "login";
}
@RequestMapping("/regist")
public String regist(){
return "regist";
}
@RequestMapping("/dologin")
@ResponseBody
public String doLogin(User user,Map map){
User user1 = userServiceImp.selectUser(user.getUsername(),user.getPassword());
System.out.print(user1);
if(user1==null){
map.put("msg", "密码或账号错误!");
return "fail";
}else {
map.put("msg", "登入成功");
return "success";
}
}
@RequestMapping("/doregist")
public String doRegist(User user,Map map) {
userServiceImp.inserUser(user.getUsername(), user.getPassword());
map.put("msg","注册成功");
return "success";
}
}
9.相应得到静态页面
登入界面
springboot登录
注册界面
Insert title here
信息界面
Title