springboot应用数据库时,不可用直接使用,要和Mybatis一起使用。
1、新建spring Initializr
只是在选择依赖时有不同,需要引入Spring Web、Thymeleaf、MySQL Driver、MyBatis Framework和Lombok
其中MySQL Driver、MyBatis是用于数据库操作的
Lombok则是可以通过简单的注解的形式来帮助我们简化和消除一些必须有但显得很臃肿的Java代码,比如常见Getter&Setter、toString()、构造函数等等。lombok不仅方便编写,同时也让我们的代码更简洁。lombok提供了一个功能完整的jar包,可以很方便的与我们的项目进行集成。我们这里会用到get和set方法,所以用lombok,不使用也行,自己手写set和get方法。(第一次使用lombok需要进行安装)。
2、新建一张MySQL数据库的表
create table user( id int primary key auto_increment, userName varchar(32), passWord varchar(50) )charset utf8;3、springboot连接数据库
?serverTimezone=GMT%2B8这里是设置时区,东八区。
4、配置文件application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8 #也可以改端口号 server.port=9000 #数据库登录名 spring.datasource.username=root #数据库登陆密码 spring.datasource.password=123456 #数据库驱动 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver5、在resources->templates->新建register.html,写入前端页面
<!DOCTYPE html> <html xmlns:th="http://thymeleaf.org"> <head> <meta charset="UTF-8"> <title>注册页面</title> </head> <body> <h2>欢迎来到注册页面</h2> <form action="/register" method="post"> <label>用户名</label> <input type="text" name="userName" placeholder="用户名"> <label>密码</label> <input type="password" name="passWord" placeholder="密码"> <input type="submit" value="注册"> </form> </body> </html>6、新建controller包、controller类
package com.example.mysqlmybatis.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; @Controller public class controller { @GetMapping("/register") @RequestMapping("/register") public String register(HttpServletRequest request){ String userName = request.getParameter("userName"); //从页面获取数据 String passWord = request.getParameter("passWord"); //输出 if(userName != null &&passWord != null){ System.out.println(userName); System.out.println(passWord); } return "register"; } }7、新建model模块、User类,并添加属性,这里User类的属性和数据库中user表的字段对应。
加上@Data注解,可以不用手动添加set和get方法。
package com.example.mysqlmybatis.model; import lombok.Data; @Data public class User { private long id; private String userName; private String passWord; }8、mapper写入数据库
此时就可将User类与数据库里面的数据对应起来。但还需要写进去,添加Mybatis依赖(开始已经添加过了)。再用mapper方式,mapper的映射关系是一个接口。
新建mapper包、UserMapper接口,这里需要加入@Mapper注解
package com.example.mysqlmybatis.mapper; import com.example.mysqlmybatis.model.User; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserMapper { //实现写入,用SQL语句 @Insert("insert into user(userName,passWord) values (#{userName},#{passWord})") //抽象方法将获得的数据写入到数据库中 void addUser(User user); }9、在controller包下的controller类对接口实例化
添加@Autowired注解,对UserMapper实例化
@Autowired private UserMapper userMapper;10、创建User对象,将页面输入的数据拿到,并赋值给User对象
String userName = request.getParameter("userName"); //拿到页面输入的数据 String passWord = request.getParameter("passWord"); if(userName != null &&passWord != null){ System.out.println(userName); System.out.println(passWord); } //创建User User user = new User(); user.setUserName(userName); //将页面得到的数据赋值给User对象 user.setPassWord(passWord);11、userMapper了,将数据写入到数据库中
userMapper.addUser(user);12、运行测试
我输入的是【李四】和【123456】
13、代码地址:https://github.com/StudyWinter/springboot-MySQL-Mybatis
