springboot+jpa+mysql 要点和错误解决办法

目录结构:mulu

 

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 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>demo</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>demo</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-data-jpa</artifactId>
      </dependency>
      <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>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>5.1.34</version>
         <scope>runtime</scope>
      </dependency>
      <dependency>
         <groupId>org.projectlombok</groupId>
         <artifactId>lombok</artifactId>
         <optional>true</optional>
      </dependency>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-thymeleaf</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>
      </plugins>
   </build>
</project>

 

applicatio.yml:

spring:
  datasource:
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/peimenghao
      username: root
      password: root

  jpa:
    database: MYSQL
    hibernate:
      ddl-auto: update
    show-sql: true

 

UserController

@Controller
public class UserController {


    @Autowired
    UserServiceImpl userServiceImpl;


    @RequestMapping("/login")
    public String login(){
        return "login";
    }

    @RequestMapping("doLogin")
    public String doLogin(User user, Model model){
        User user1 =  userServiceImpl.getUser(user.getUserName(),user.getPassword());
      System.out.println(user1);


        if(user1 == null){
             model.addAttribute("msg","登入失败");
        }else{
            model.addAttribute("msg","登入成功");
        }
        return "success";
    }

    @RequestMapping("getUser")
    public String getAllUser(Model model){
        List<User> users=userServiceImpl.findAll();

        model.addAttribute("users",users);
        return  "users";
    }

    @RequestMapping("/register")
    public String regist(){
        return "register";
    }

    @RequestMapping("doRegister")
    public String doRegister(@Valid User user, BindingResult result , Model model){
        String  errorMsg="";
        if(result.hasErrors()) {
            List<ObjectError> errors = result.getAllErrors();
            for (ObjectError e : errors) {
                errorMsg = errorMsg + e.getCode() + e.getDefaultMessage();
            }
            model.addAttribute("errorMsg",errorMsg);
            return  "register";

        }
        User  user1=userServiceImpl.findByUserName(user.getUserName());

            if(user1 !=null){
                model.addAttribute("errorMsg","用户名重复");
                return  "register";
            }


//      UserParam user=new UserParam();
//       BeanUtils.copyProperties(userParam,user);
        userServiceImpl.save(user);
        model.addAttribute("msg","注册成功");
        return "success";
    }
}

UserDao

public interface UserDao extends JpaRepository<User,Integer> {
    //查询用户通过密码和姓名
     User findByUserNameAndPassword(String username,String password);


    //查询所有用户
     List<User>  findAll();

     //保存一条用户
     User  save(User user);

      //根据名字查询用户
      User  findByUserName(String userName);

}

User

@Getter
@Setter
@Entity
@Table(name="USER")
public class User {

        @Id
        @Column(name="USER_ID",length=50,nullable=false)
        @GeneratedValue(strategy=GenerationType.IDENTITY)
        private int userId;

        @NotEmpty(message = "用户名不能为空")
        @Column(name="USER_NAME",length=255)
        private String userName;

        @NotEmpty(message="密码不能为空")
        @Column(name="PASSWORD",length=255)
        private String password;
    }


UserServiceImpl

@Service
public class UserServiceImpl {
    @Autowired
    UserDao userDao;

     public  User getUser(String username, String password) {
        return userDao.findByUserNameAndPassword(username,password);

    }

    public List<User>  findAll(){
        return  userDao.findAll();
    }

    public void  save(User user){
         userDao.save(user);
    }

    public User  findByUserName(String userName){

        return  userDao.findByUserName(userName);

    }

}

login

<!DOCTYPE html>
<html lang="en" xmlns="http://www.thymeleaf.org">
<head>
</head>
<body class="text-center">
<div >
    <form name="form" accept-charset="utf-8"  action="/doLogin">
        <ul >
            <li>
                <label  class="input-tips2">用户名:</label>
                <div class="inputOuter2">
                    <input type="text" id="username" name="userName" maxlength="16" />
                </div>
            </li>
            <li>
                <label class="input-tips2">密码:</label>
                <div >
                    <input type="password" id="password"  name="password" maxlength="16"/>
                </div>
            </li>
            <li>
                <div >
                    <input type="submit" value="登录"/>
                    <a href="/register">注册</a>
                </div>
            </li>
        </ul>
    </form>
</div>

<h1><asadadas></asadadas></h1>
</body>

</html>

register

<!DOCTYPE html>
<html lang="en" xmlns="http://www.thymeleaf.org" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>


<div  style="margin:0 auto;background-color: antiquewhite;width: 500px;height: 600px;">

    <h1 th:text="${errorMsg}"></h1>
    <form action="/doRegister" method="post"/>
    <label>请输入姓名</label><input  type="text" name="userName"/><br>
    <label>请输密码</label><input  type="text" name="password"/>
    <input type="submit" value="提交"/>
    </form>
</div>
</body>
</html>

success

<!DOCTYPE html>
<html lang="en" xmlns="http://www.thymeleaf.org" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1  th:text="${msg}"></h1>
<span th:text="${msg}"></span>
<a href="/getUser"><button> 点击查询所有人</button></a>

</body>
</html>

Users

<!DOCTYPE html>
<html lang="en" xmlns="http://www.thymeleaf.org" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<tr th:each="user : ${users}">
    <td th:text="${user.userId}"></td></br>
    <td th:text="${user.userName}">1</td><br>
    <td th:text="${user.password}">1</td><br>
</tr>
<a>fanhui </a>
</body>
</html>

报错几次:

  1. pom文件  没有引  thymeleaf  ,导致找不到url
  2. mysql版本有问题,pom文件加一个版本号
  3.  

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值