栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

如何利用IDEA搭建SpringBoot项目整合mybatis实现简单的登录功能

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何利用IDEA搭建SpringBoot项目整合mybatis实现简单的登录功能

        利用闲余时间想自己搭建一个springboot+mybatis的项目,提升一下自己对项目的了解,毕竟自己还是一个小白,在这里为自己创建项目的过程做一个记录,以便以后回忆。同时将搭建中遇到的问题也在这里做记录。如有遇到同样问题的同学,希望能给你一下借鉴。

       springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便。

一,搭建项目:

1、打开IDEA,点击File→New→Project...,如图1所示

                                                            图1  搭建项目

2、当我们选择project...后,会看见如图2所示的页面,选择Spring Initializr,点击NEXT即可。

                                                                                           图2 搭建项目

3、接下来将看到如图3所示的页面,在这个页面中我只是修改了名称。然后点击NEXT进行下一步。

                                                                                         图3 搭建项目

4、当我点击NEXT时,却出现如图4所示的错误,这由于创建时因为Artifact的命名为大小写混合,将大写改为小写即可正常创建。

                                                                             图4 搭建项目 (注意名称大小写问题)

5、接下来我们修改上面的错误,我将springbootTest1→springboottest1,然后进行下一步。会看见如图5所示的页面。 在当前页面中我们一次选择左侧的Web、Template Engines、SQL。然后在中间部分选择我们需要的选项,最终选择结果如最右侧所示。然后点击NEXT,进行下一步。

                                                                          图5 搭建项目(选择需要的内容)

6、如图6所示,进人创建项目的最后一个页面,在这里我们可以修改项目保存的位置。确认自己输入的内容,点击Fiish即可完成项目的创建。

                                                             图6 搭建项目(可以修改文件路径)

7、点击Finish后,出现如图7所示页面,我们选择New Window即可,即在新的IDEA中打开我们新建的项目。

                                                                        图7 打开项目

二、启动项目、添加配置文件等

1、打开新项目后,我们可以观察一下左侧的项目结构。如图8所示。

生成的项目中,resources文件夹下,static文件夹下存放静态文件,比如css、js、html和图片等 。

templates下存放html文件,controller默认访问该文件夹下的html文件。

这个在application.properties配置文件中是可以修改的。 

下面为项目生成的pom.xml文件:



	4.0.0
 
	com.example
	springboottest1
	0.0.1-SNAPSHOT
	jar
 
	springboottest1
	Demo project for Spring Boot
 
	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.4.RELEASE
		 
	
 
	
		UTF-8
		UTF-8
		1.8
	
 
	
		
			org.springframework.boot
			spring-boot-starter-jdbc
		
		
			org.springframework.boot
			spring-boot-starter-thymeleaf
		
		
			org.springframework.boot
			spring-boot-starter-web
		
		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			1.3.2
		
 
		
			mysql
			mysql-connector-java
			runtime
		
		
			org.springframework.boot
			spring-boot-starter-test
			test
		
	
 
	
		
			
				org.springframework.boot
				spring-boot-maven-plugin
			
		
	
 
 

                                                                                      图8 项目文件结构

2、了解项目的文件结构后,我们尝试着启动项目。我们发现项目启动过程中出现错误,错误信息如图9所示。

                                                                                         图9 项目启动报错

      这是因为我们创建Spring Boot项目时,在选择组件时添加了mysql、mybatis,但现在还没有配置数据库,导致项目启动报错。

      我们需要在项目的application.properties文件中配置数据信息。如图10所示,是我自己配置的数据库,具体情况根据自己数据库的设置配置。

                                                                            图10 数据库配置

       数据库采用MySQL数据库,下面是数据库的设计,只有几个简单的字段。如图11所示。

                                                                            图11 数据库设计

     这里也可以不使用application.properties文件,采用更加简洁的application.yml文件。将resource文件夹下原有的application.properties文件删除,创建application.yml配置文件(备注:其实SpringBoot底层会把application.yml文件解析为application.properties), 文件的内容如下(此处只配置最基本的):

 

server:
 port: 8080
 
spring:
 datasource:
 name: test
 url: jdbc:mysql://127.0.0.1:3306/test
 username: root
 password: 123456
 driver-class-name: com.mysql.jdbc.Driver

       接下来再次尝试重新启动项目。发现项目可以正常启动了。可以打开浏览器访问http://localhost:8080/,访问结果如图12所示。证明项目正常启动了。

                                                                                        图12 访问结果

三、项目整合mybatis

1、application.yml文件中添加mybatis。

server:
 port: 8080
 
spring:
 datasource:
 name: test
 url: jdbc:mysql://127.0.0.1:3306/test
 username: root
 password: 123456
 driver-class-name: com.mysql.jdbc.Driver
 
mybatis:
 mapper-locations: classpath:mapper
 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 == null ? null : username.trim();
 }
 
 
 public String getPassword() {
 return password;
 }
 
 
 public void setPassword(String password) {
 this.password = password == null ? null : password.trim();
 }
 
 
 public Integer getAge() {
 return age;
 }
 
 
 public void setAge(Integer age) {
 this.age = age;
 }
}

成的Dao:

package com.example.springboottest1.mapper;
 
import com.example.springboottest1.entity.user;
 
public interface userMapper {
 
 int deleteByPrimaryKey(Integer id);
 
 
 int insert(user record);
 
 
 int insertSelective(user record);
 
 
 user selectByPrimaryKey(Integer id);
 
 
 int updateByPrimaryKeySelective(user record);
 
 
 int updateByPrimaryKey(user record);
}

5.3、生成的SQL语句(其中一些没有用的注释被我删掉了):




 
 
 
 
 
 
 
 
 id,
 username,
 password,
 age
 
 
 SELECT id,username,password,age FROM user WHERe username = #{username} AND password = #{password}
 
 
 
 
 INSERT INTO user (username,password,age) VALUES (#{username},#{password},#{age})
 
 
 
 
 INSERT INTO user (id,username,password,age) VALUES (UUID(),#{username},#{password},#{age})
 
 

(2)Dao层 userMapper.java

package com.example.springboottest1.mapper;
 
import com.example.springboottest1.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
 
import java.util.Map;
 
@Mapper
@Component
public interface userMapper {
 
 //用户登录
 User userlogin(@Param("username") String username,@Param("password") String password);
 
 //注册新用户(方式1)
 int adduser(@Param("username") String username, @Param("password") String password, @Param("age") int age);
 
 //注册新用户(方式2)
 int adduser1(@Param("username") String username, @Param("password") String password, @Param("age") int age);
}

(3)Servicr层  UserLoginService.java

package com.example.springboottest1.service;
 
import com.example.springboottest1.entity.User;
import com.example.springboottest1.mapper.userMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.Map;
 
@Service
public class UserLoginService {
 
 
 @Autowired
 private userMapper usermapper;
 
 //用户登录
 public User userLogin(String username,String password){
 User user = usermapper.userlogin(username,password);
 return user;
 }
 
 //注册新用户
 public int adduser(String username,String password,int age){
 
 
 return usermapper.adduser(username,password,age);
 //return usermapper.adduser1(username,password,age); //对应sql语句中的第二种注册方式
 }
}

(4)Controller层  UserLoginController.java

package com.example.springboottest1.controller;
 
import com.example.springboottest1.entity.User;
import com.example.springboottest1.service.UserLoginService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
 
import javax.servlet.http.HttpServletRequest;
 
@Controller
@RequestMapping(value = {"/user"})
public class UserLoginController {
 
 
 @Autowired
 private UserLoginService userLoginService;
 
 
 @RequestMapping(value = {"/loginHtml"})
 public String loginHtml(){
 return "userLogin";
 }
 
 
 @RequestMapping(value = {"/registerpage"})
 public String registerpage(){
 return "register";
 }
 
 
 @RequestMapping(value = {"/userLogin"})
 public String userLogin(@RequestParam("username") String username, @RequestParam("password") String password, HttpServletRequest request){
 
 User user = userLoginService.userLogin(username,password);
 
 if(user != null){//登录成功
  request.getSession().setAttribute("session_user",user); //将用户信息放入session
  return "index";
 }
 return "loginError";
 }
 
 
 @ResponseBody
 @RequestMapping(value = {"/uregister"})
 public String addUser(@RequestParam("username") String username,
    @RequestParam("password") String password,
    @RequestParam("password2") String password2,
    @RequestParam("age") int age){
 
 if(!password.equals(password2)){
 
  return "两次密码不相同,注册失败!!";
 }else {
  int res = userLoginService.adduser(username,password,age);
  if(res == 0){
  return "注册失败!";
  }else {
  return "注册成功!";
  }
 }
 
 }
}

由于有同学问我要源码,有时候我可能看不见消息,所以将源码在百度云中分享出来,大家根据自己需要,自行下载吧,如果有什么建议就评论吧:

链接: https://pan.baidu.com/s/1TO00D-eHnwA8tm6VHRgIbA

提取码: waeu

总结

到此这篇关于如何利用IDEA搭建SpringBoot项目整合mybatis实现简单的登录功能的文章就介绍到这了,更多相关IDEA搭建SpringBoot项目整合mybatis实现登录内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/132679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号