本文假设您已经新建好了springboot工程
本列子用SQL SERVER2008 IDEA2018
项目结构:
1、在pom.xml中加入如下配置:
4.0.0
org.springframework.boot
spring-boot-starter-parent
2.1.3.RELEASE
com.example
demo
0.0.1-SNAPSHOT
demo
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-thymeleaf
org.mybatis.spring.boot
mybatis-spring-boot-starter
2.0.0
com.microsoft.sqlserver
sqljdbc4
4.2
4.2
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging
org.springframework.boot
spring-boot-starter-log4j2
org.springframework.boot
spring-boot-maven-plugin
src/main/java
**/*.properties
**/*.xml
false
2 application.properties配至
#thymeleaf start
pring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
#数据库连接 SQL SERVER
spring.datasource.url=jdbc:sqlserver://localhost:1433;DatabaseName=Text
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.username=sa
spring.datasource.password=123
spring.datasource.type= org.springframework.jdbc.datasource.DriverManagerDataSource
#mapper-locations: com.example.demoMyBatis:Mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity #实体类的放路径
3 新建实体模型user
package com.example.demo.entity;
public class User {
public int ID;
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String UserName;
public String Pwd;
public String Age;
public String getUserName() {
return UserName;
}
public void setUserName(String userName) {
UserName = userName;
}
public String getPwd() {
return Pwd;
}
public void setPwd(String pwd) {
Pwd = pwd;
}
public String getAge() {
return Age;
}
public void setAge(String age) {
Age = age;
}
}
4在您的代码中新建mapper接口和mapper.xml映射配置
4.1mapper接口
package com.example.demo.Mapper;
import com.example.demo.entity.User;
import java.util.List;
public interface UserMapper {
public void AddUser(User user);
public List UserAll();
public User UserFind(int ID);
public void UpdateUser(User user);
public void DeleteUser(int ID);
}
4.2mapper.xml映射配置
insert into Userinfo(UserName, Pwd, Age) values (#{UserName}, #{Pwd}, #{Age})
update Userinfo set UserName=#{UserName}, Pwd=#{Pwd}, Age=#{Age} where ID=#{ID}
delete from Userinfo where ID=#{ID}
注意:mapper接口和mapper.xml映射配置 可以用 UserDAO 这种写法
package com.example.demo.RestfulDAO;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.*;
@Mapper
public interface UserDAO {
/**
* 用户数据新增
*/
@Insert("insert into Userinfo(UserName, Pwd, Age) values (#{UserName},#{Pwd},#{Age})")
void addUser(User user);
/**
* 用户数据修改
*/
@Update("update Userinfo set UserName=#{UserName},Pwd=#{Pwd} where id=#{id}")
void updateUser(User user);
/**
* 用户数据删除
*/
@Delete("delete from Userinfo where ID=#{ID}")
void deleteUser(int ID);
/**
* 根据用户ID查询用户信息
*
*/
@Select("SELECT UserName, Pwd, Age FROM Userinfo where ID=#{ID}")
User findById(@Param("ID") int ID);
/**
* 根据用户age查询用户信息
*/
@Select("SELECT UserName, Pwd, Age FROM Userinfo")
User findAll();
}
5 新建 Service
5.1 Service 接口
package com.example.demo.Service;
import com.example.demo.entity.User;
import java.util.List;
public interface UserService {
public void AddUser(User user);
public List UserAll();
public User UserFind(Integer ID);
public void UpdateUser(User user);
public void DeleteUser(int ID);
}
5.2 Service 接口实现
package com.example.demo.Service;
import com.example.demo.entity.User;
import com.example.demo.Mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void AddUser(User user) {
this.userMapper.AddUser(user);
}
@Override
public List UserAll()
{
return this.userMapper.UserAll();
}
@Override
public User UserFind(Integer ID)
{
return this.userMapper.UserFind(ID);
}
@Override
public void UpdateUser(User user) {
this.userMapper.UpdateUser(user);
}
@Override
public void DeleteUser(int ID) {
this.userMapper.DeleteUser(ID);
}
}
6 新建 Controller
package com.example.demo.Controller;
import com.example.demo.Service.UserService;
import com.example.demo.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.List;
@Controller
public class UserController {
private static final Logger logger;
static {
logger = LogManager.getLogger(User.class);
}
@Autowired(required = true)
private UserService userService;
//添加用户
@RequestMapping("/AddUser")
// @ResponseBody
//@RequestMapping(value = "/AddUser", method = RequestMethod.POST)
public String AddUser(User user) {
this.userService.AddUser(user);
return "OK";
}
//查询所有用户
@RequestMapping("/UserAll")
//@RequestMapping(value = "/UserAll", method = RequestMethod.GET)
public String UserAll(Model mode)
{
List list=this.userService.UserAll();
mode.addAttribute("list",list);
return "UserAll";
}
//根据ID查询用户信息
@RequestMapping("/UpdateUserInfo")
public String UserFind(Integer ID,Model model)
{
User user=this.userService.UserFind(ID);
logger.error("user"+user.UserName);
model.addAttribute("user",user);
return "UpdateUser";
}
//更新用户信息
@RequestMapping("/UpdateUser")
//@RequestMapping(value = "/UserAll", method = RequestMethod.GET)
public String UpdateUser(User user)
{
this.userService.UpdateUser(user);
return "OK";
}
//根据ID删除用户信息
@RequestMapping("/DeleteUser")
public String DeleteUser(Integer ID)
{
this.userService.DeleteUser(ID);
return "redirect:/UserAll";
}
@RequestMapping("/{page}")
public String ShowPage(@PathVariable String page) {
return page;
}
}
7 页面
7.1 查询 和删除用户页
Title
用户 初始密码 性别 操作
更新用户
删除用户
7.2 添加用户页
添加用户
7.3更新用户
用户更新
7.4 成功页
添加成功
添加成功