springboot 部署ssm项目crud操作
Posted q1427094386
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 部署ssm项目crud操作相关的知识,希望对你有一定的参考价值。
springboot 部署ssm 项目结构
从上到下 先 在根目录创建一个文件加 sql 之后创建sql文件
drop table if exists `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`sex` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
# 添加
insert into `user`(id, name,password, age, sex) values (null ,'tom','123',22,'男');
# 查询
select * from user;
java 代码 首先是 controller 层
package cn.hp.boot3.controller;
import cn.hp.boot3.model.User;
import cn.hp.boot3.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
//@RequestMapping("/user")
public class UserComtroller {
@Autowired
private UserService userService;
//访问 页面 需要走 controller
/**
* 跳转导列表 登录页面
*
* @return
*/
@GetMapping("toLogin")
public String toIndex() {
return "login.html";
}
/**
* 登录 提交 重定向到 list请求
* @param user
* @return
*/
@PostMapping("/login")
public String login(User user) {
userService.login(user);
return "redirect:list"; //转向导到list列表
}
/**
* 全查询
* @return
*/
@GetMapping("/list")
public Object list1() {
List<User> list= userService.list();
ModelAndView modelAndView=new ModelAndView();
modelAndView.addObject("list",list);
modelAndView.setViewName("index");
return modelAndView;
}
/**
* 新增 html样式 跳页面
* @return
*/
@RequestMapping("/user_add")
public String user_add(){
// return "redirect:user_add";
return "user_add.html";
}
/**
* 新增 html样式 页面提交
* @param user
* @return
*/
@RequestMapping("/user_add2")
public String user_add2(User user){
int i= userService.user_add2(user);
if (i>0){
return "redirect:list"; //转向导到列表
}
return null; //添加失败 跳转没写
}
/**
* 新增 Thymeleaf样式 跳页面
* @return
*/
@RequestMapping("/user2_add")
public String user2_add(){
return "user2_add.html";
}
/**
* 新增 Thymeleaf样式 页面提交
* @param user
* @return
*/
@RequestMapping("/user2_add2")
public String user2_add2(User user){
int i= userService.user2_add2(user);
if (i>0){
return "redirect:list"; //转向导到列表
}
return null; //添加失败 跳转没写
}
/**
* 删除 根据id 删除一条数据
* @param id
* @return
*/
@RequestMapping("/user_delectById")
public String user_delectById(int id){
int i= userService.user_delectById(id);
if (i>0){
return "redirect:list"; //转向导到列表
}
return null; //删除失败 跳转没写
}
/**
* 修改 根据id 查找一个用户
* @param model
* @param id
* @return
*/
@RequestMapping("/user_selectById")
public String user_selectById(Model model,int id){
User user= userService.user_selectById(id);
model.addAttribute("user",user);
return "user_selectById.html";
}
/**
* 修改
* @param user
* @return
*/
@RequestMapping("/user_update")
public String user_update(User user){
userService.user_update(user);
return "redirect:list"; //转向导到列表
}
}
mapper层 (接口)
package cn.hp.boot3.mapper;
import cn.hp.boot3.model.User;
import cn.hp.boot3.model.UserExample;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface UserMapper {
long countByExample(UserExample example);
int deleteByExample(UserExample example);
int deleteByPrimaryKey(Integer id);
int insert(User record);
int insertSelective(User record);
List<User> selectByExample(UserExample example);
User selectByPrimaryKey(Integer id);
int updateByExampleSelective(@Param("record") User record, @Param("example") UserExample example);
int updateByExample(@Param("record") User record, @Param("example") UserExample example);
int updateByPrimaryKeySelective(User record);
int updateByPrimaryKey(User record);
}
model 实体类
package cn.hp.boot3.model;
public class User {
private Integer id;
private String name;
private String password;
private Integer age;
private String 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 String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
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;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", name=").append(name);
sb.append(", password=").append(password);
sb.append(", age=").append(age);
sb.append(", sex=").append(sex);
sb.append("]");
return sb.toString();
}
}
service 层
package cn.hp.boot3.service;
import cn.hp.boot3.mapper.UserMapper;
import cn.hp.boot3.model.User;
import cn.hp.boot3.model.UserExample;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void login(User user) {
UserExample example = new UserExample();
UserExample.Criteria criteria = example.createCriteria();
criteria.andNameEqualTo(user.getName());
criteria.andPasswordEqualTo(user.getPassword());
userMapper.selectByExample(example);
}
public List<User> list() {
return userMapper.selectByExample(null);
}
public int user_add2(User user) {
return userMapper.insert(user);
}
public int user_delectById(int id) {
return userMapper.deleteByPrimaryKey(id);
}
public User user_selectById(int id) {
return userMapper.selectByPrimaryKey(id);
}
public int user_update(User user) {
return userMapper.updateByPrimaryKeySelective(user);
}
public int user2_add2(User user) {
return userMapper.insert(user);
}
}
boot的启动类 Boot3Application
package cn.hp.boot3;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("cn.hp")
//@MapperScan("cn.hp.boot3.mapper")
public class Boot3Application {
public static void main(String[] args) {
SpringApplication.run(Boot3Application.class, args);
}
}
resources 资源文件
在resources 根目录下创建 generator包 包下 是generatorConfig.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<context id="mysql" targetRuntime="MyBatis3" defaultModelType="flat">
<property name="autoDelimitKeywords" value="true"/>
<!--在table / 列名 左右两边加入 反引号,避免关键词-->
<property name="beginningDelimiter" value="`"/>
<property name="endingDelimiter" value="`"/>
<!--覆盖生成XML文件(可以重复执行生成, 每次新生成的xml会覆盖原有xml,原xml会被删除掉)-->
<plugin type="org.mybatis.generator.plugins.UnmergeableXmlMappersPlugin" />
<!-- 在生成的实体类中添加toString()方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
<!-- 不生成注释(mybatis默认注释是英文,不需要) -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
</commentGenerator>
<!--数据库连接配置-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/springboot3_8.13"
userId="boot"
password="boot">
</jdbcConnection>
<!-- domain model 实体类的位置 -->
<javaModelGenerator targetProject="src\\main\\java"
targetPackage="cn.zz.boot3.model"/>
<!-- targetPackage="cn.zz.boot3.domain"/>-->
<!-- mapper xml的位置 -->
<sqlMapGenerator targetProject="src\\main\\resources"
targetPackage="mapper"/>
<!-- mapper类的位置
3种生成方式
1.ANNOTATEDMAPPER (生成的SQL都在java中)
2.MIXEDMAPPER (sql部分再java类中,部分再xml中)
3.XMLMAPPER (sql全都在xml中) TODO 推荐使用
-->
<javaClientGenerator targetProject="src\\main\\java"
targetPackage="cn.zz.boot3.mapper"
type="XMLMAPPER" />
<!-- <table tableName="test" domainObjectName="Test"/>-->
<table tableName="user" domainObjectName="User"/>
</context>
</generatorConfiguration>
在resources 根目录下创建 js包 包下 js (我用的是 jquery-3.6.0.min.js) 这个对版本没有要求
在resources 根目录下创建 mapper 下创建UserMapper.xml 配置文件 注 :(此处的mapper 的配置文件 跟java文件的 mapper 中的接口 名字相同)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.hp.boot3.mapper.UserMapper">
<resultMap id="BaseResultMap" type="cn.hp.boot3.model.User">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="password" jdbcType以上是关于springboot 部署ssm项目crud操作的主要内容,如果未能解决你的问题,请参考以下文章
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)八(文件的上传FastDFS和校验)(Nginx的请求前缀配置,在发布项目的时候要注意)(代
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)二十三(项目打包和部署)
Java网络商城项目 SpringBoot+SpringCloud+Vue 网络商城(SSM前后端分离项目)二十三(项目打包和部署)