这篇文章主要介绍了Spring boot+mybatis+thymeleaf 实现登录注册增删改查功能的示例代码,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
本文重在实现理解,过滤器,业务,逻辑需求,样式请无视。。
项目结构如下
1.idea新建Spring boot项目,在pom中加上thymeleaf和mybatis支持。pom.xml代码如下
4.0.0org.springframework.bootspring-boot-starter-parent2.1.3.RELEASEcom.jztable0.0.1-SNAPSHottableDemo project for Spring Boot1.8org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-testtestorg.springframework.bootspring-boot-starter-thymeleaforg.mybatis.spring.bootmybatis-spring-boot-starter1.3.1MysqLmysql-connector-javaruntimeorg.springframework.bootspring-boot-maven-plugin
2. 在项目resources目录下新建mybatis文件夹,用于存放mybatis配置文件。 在 application.properties 中配置本地数据源和mybatis配置文件地址, application.properties代码如下
spring.datasource.driverClassName=com.MysqL.cj.jdbc.Driver spring.datasource.url=jdbc:MysqL://localhost:3306/student?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC spring.datasource.username=用户名 spring.datasource.password=密码 spring.jpa.showsql=true mybatis: mybatis.type-aliases-package=com.jz.table.entity mybatis.mapper-locations=mybatis/*.xml
com.MysqL.cj.jdbc.Driver 是 mysql-connector-java 6中的,需要指定时区serverTimezone
2.2在启动类上加上扫描的Dao包
package com.jz.table; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan("com.jz.table.dao") public class TableApplication { public static void main(String[] args) { SpringApplication.run(TableApplication.class, args); } }
3.数据库建两个表admin和userinfo用于登录和操作用
2019.10.3 现在MysqL不能用admin作为表名了,请注意一下
4.开始写代码
entity:实体
代码1.Admin
实体类package com.jz.table.entity; public class Admin { private Integer id; private String name; private Integer password; private String job; public Admin() { } public Admin(Integer id, String name, Integer password, String job) { this.id = id; this.name = name; this.password = password; this.job = job; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer
getpassword() { return password; } public void setPassword(Integer password) { this.password = password; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } }2.UserInfo
实体类package com.jz.table.entity; public class UserInfo { private Integer id; private String name; private Integer age; private String sex; public UserInfo() { } public UserInfo(Integer id, String name, Integer age, String sex) { this.id = id; this.name = name; this.age = age; this.sex = sex; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }Dao层
代码1.AdminDaopackage com.jz.table.dao; import com.jz.table.entity.Admin; public interface AdminDao { //
登录判断 Admin login(Admin admin); //
注册 int addAdmin(Admin admin); }2.UserDaopackage com.jz.table.dao; import com.jz.table.entity.UserInfo; import java.util.List; public interface UserDao { //查 List findall(); //增 int adduser(UserInfo user); //根据Id查,用于
修改时
页面回显数据 UserInfo findByid(Integer id); //
修改 int updateUser(UserInfo user); //
删除 int delUser(Integer id); }3.XML
文件,因为没有业务逻辑,service省了,controller中直接引入dao1.AdminMapper.xmlselect name,job FROM admin WHERE name = #{name} AND password = #{password} INSERT INTO admin (name,password,job) VALUES (#{name},#{password},#{job});2.UserMapper.xmlselect * from userinfo INSERT INTO userinfo(name,age,sex) VALUES (#{name},#{age},#{sex}) SELECT * FROM userinfo where id = #{id} update userinfo SET name=#{name },age =#{age},sex=#{sex} WHERE id = #{id} DELETE from userinfo WHERE id = #{id}4.
页面,在templates
文件夹下新建public和user
文件夹用来存放公共
页面和user操作
页面public
文件夹下新建成功、失败
提示页1.success.html操作成功
提示页
操作成功
返
回首页2.false.html操作失败
提示页
操作失败,请检查数据重试
4.2在templates
文件夹下新建login和register
页面作为
登录和
注册页面1.login.html
首页 请输入姓名请输入密码
注册2.register.html账号
注册 请输入姓名:请输入密码:请确认密码:请选择角色:
管理员注册3.controller中
代码@Controller public class TestController { @Resource private AdminDao ad; @Resource private UserDao ud; @RequestMapping("/login")//主页 public String index(){ return "login"; } @RequestMapping("/goregister")//去
注册页面 public String goregister(){ return "register"; } @RequestMapping("/register")//
注册 @ResponseBody public boolean register(Admin admin){ int i = ad.addAdmin(admin); if (i>0){ return true; }else { return false; } } @RequestMapping("/
Gologin")//
登录获取用户信息存到seccion public String
Gologin(Admin admin,HttpServletRequest request,Model model){ Admin aa = ad.login(admin); if (aa==null){ return "public/false"; } HttpSession session = request.getSession(); session.setAttribute("aname",admin.getName()); session.setAttribute("apassword",admin.
getpassword()); List userlist = ud.findall(); model.addAttribute("admin",aa); model.addAttribute("alist",userlist); return "user/index"; } @RequestMapping("/index")//从其他
页面操作后返回
列表页面(重复
登录) public String login(Admin admin,Model model,HttpServletRequest request){ HttpSession session = request.getSession(); admin.setName((String) session.getAttribute("aname")); admin.setPassword((Integer) session.getAttribute("apassword")); Admin aa = ad.login(admin); List userlist = ud.findall(); model.addAttribute("admin",aa); model.addAttribute("alist",userlist); return "user/index"; } }4.3user
文件夹下新建index,addUser,updateUser
页面,作为主页,
添加,
修改页面1.index.html
首页 欢迎你 :
人员信息维护
id姓名年龄性别操作
修改删除添加2.addUser.html
添加用户 请输入姓名:请输入年龄:请选择性别:男女
添加返回3.updateUser.html
修改用户请输入姓名:请输入年龄:请选择性别:男女
修改返回4.controller中
代码@RequestMapping("/goadd")//去
添加页面 public String goadd(){ return "user/addUser"; } @RequestMapping("/addUser")//
添加信息 @ResponseBody public boolean addUser(UserInfo user){ int i = ud.adduser(user); if (i>0){ return true; }else { return false; } } @RequestMapping("/goupdate/{id}")//去
修改页面,回显数据 public String goupdate(@PathVariable("id") int id,Model model){ UserInfo user = ud.findByid(id); model.addAttribute("user",user); return "user/updateUser"; } @RequestMapping("/update")//
修改 @ResponseBody public boolean updateUser(UserInfo user){ int i = ud.updateUser(user); if (i>0){ return true; }else { return false; } } @RequestMapping("/godel/{id}")//
删除 public String delUser(@PathVariable("id") Integer id){ ud.delUser(id); return "public/success"; }5.完整controller
代码package com.jz.table.controller; import com.jz.table.dao.AdminDao; import com.jz.table.dao.UserDao; import com.jz.table.entity.Admin; import com.jz.table.entity.UserInfo; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.List; @Controller public class TestController { @Resource private AdminDao ad; @Resource private UserDao ud; @RequestMapping("/login")//主页 public String index(){ return "login"; } @RequestMapping("/goregister")//去
注册页面 public String goregister(){ return "register"; } @RequestMapping("/register")//
注册 @ResponseBody public boolean register(Admin admin){ int i = ad.addAdmin(admin); if (i>0){ return true; }else { return false; } } @RequestMapping("/
Gologin")//
登录获取用户信息存到seccion public String
Gologin(Admin admin,HttpServletRequest request,Model model){ Admin aa = ad.login(admin); if (aa==null){ return "public/false"; } HttpSession session = request.getSession(); session.setAttribute("aname",admin.getName()); session.setAttribute("apassword",admin.
getpassword()); List userlist = ud.findall(); model.addAttribute("admin",aa); model.addAttribute("alist",userlist); return "user/index"; } @RequestMapping("/index")//从其他
页面操作后返回
列表页面(重复
登录) public String login(Admin admin,Model model,HttpServletRequest request){ HttpSession session = request.getSession(); admin.setName((String) session.getAttribute("aname")); admin.setPassword((Integer) session.getAttribute("apassword")); Admin aa = ad.login(admin); List userlist = ud.findall(); model.addAttribute("admin",aa); model.addAttribute("alist",userlist); return "user/index"; } @RequestMapping("/goadd")//去
添加页面 public String goadd(){ return "user/addUser"; } @RequestMapping("/addUser")//
添加信息 @ResponseBody public boolean addUser(UserInfo user){ int i = ud.adduser(user); if (i>0){ return true; }else { return false; } } @RequestMapping("/goupdate/{id}")//去
修改页面,回显数据 public String goupdate(@PathVariable("id") int id,Model model){ UserInfo user = ud.findByid(id); model.addAttribute("user",user); return "user/updateUser"; } @RequestMapping("/update")//
修改 @ResponseBody public boolean updateUser(UserInfo user){ int i = ud.updateUser(user); if (i>0){ return true; }else { return false; } } @RequestMapping("/godel/{id}")//
删除 public String delUser(@PathVariable("id") Integer id){ ud.delUser(id); return "public/success"; } }
效果如图
到此这篇关于Spring boot+mybatis+thymeleaf 实现
登录注册增删改查
功能的示例
代码的
文章就介绍到这了,更多相关Spring boot mybatis thymeleaf
登录注册增删改查
内容请
搜索编程之家以前的
文章或继续浏览下面的相关
文章希望大家以后多多
支持编程之家!