目录结构如下:
本demo结合mybatis和静态模板thymeleaf数据交互,代码只有全查 和删除数据的 交互。如有错误请指正! 谢谢
代码如下:
application.properties
server.port=9092
#数据源
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/**?serverTimezone=GMT
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Drivermybatis.mapperLocations=classpath:mapper/*Mapper.xml
mybatis.typeAliasesPackage=com.deml.pojospring.thymeleaf.cache=false
#sq语句日志输出
logging.level.com.example.login.mapper=debug
pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com</groupId>
<artifactId>demoThymeleaf</artifactId>
<packaging>war</packaging>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mysql -druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.0</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 配置devtools -->
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
</project>
@SpringBootApplication/*(exclude= {DataSourceAutoConfiguration.class})*/
@MapperScan("com.deml.mapper")//将项目中对应的mapper类的路径加进来就可以了
public class LoginApplication {public static void main(String[] args) {
SpringApplication.run(LoginApplication.class, args);
}}
controller
@Controller
@RequestMapping("/user")
public class UserStaffCon {@Autowired
private UserStaffService userStaffService;
@RequestMapping("/deml")
public String deml(Model model) {
List<UserStaff> selectUser = userStaffService.select();
//UserStaff selectByPrimaryKey = userStaffService.selectByPrimaryKey("1");
model.addAttribute("selList", selectUser);
return "indext";
}
@RequestMapping("/del")
public String del(Model model,String staffId) {
int status = userStaffService.deleteByPrimaryKey(staffId);
List<UserStaff> selectUser = userStaffService.select();
model.addAttribute("selList", selectUser);
return "indext";
}
}
mapper
package com.deml.mapper;
import java.util.List;
import com.deml.pojo.UserStaff;
public interface UserStaffMapper {
int deleteByPrimaryKey(String staffId);int insert(UserStaff record);
int insertSelective(UserStaff record);
UserStaff selectByPrimaryKey(String staffId);
int updateByPrimaryKeySelective(UserStaff record);
int updateByPrimaryKey(UserStaff record);
//新增
List<UserStaff> selectByList();
}
mapper.xml
<?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="com.deml.mapper.UserStaffMapper">
<resultMap id="BaseResultMap" type="com.deml.pojo.UserStaff">
<id column="staff_id" jdbcType="VARCHAR" property="staffId" />
<result column="staff_name" jdbcType="VARCHAR" property="staffName" />
<result column="staff_age" jdbcType="INTEGER" property="staffAge" />
<result column="staff_sex" jdbcType="INTEGER" property="staffSex" />
</resultMap>
<sql id="Base_Column_List">
staff_id, staff_name, staff_age, staff_sex
</sql>
<select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from user_staff
where staff_id = #{staffId,jdbcType=VARCHAR}
</select>
<!-- 新增 -->
<select id="selectByList" parameterType="com.deml.pojo.UserStaff" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from user_staff
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
delete from user_staff
where staff_id = #{staffId,jdbcType=VARCHAR}
</delete>
<insert id="insert" parameterType="com.deml.pojo.UserStaff">
insert into user_staff (staff_id, staff_name, staff_age,
staff_sex)
values (#{staffId,jdbcType=VARCHAR}, #{staffName,jdbcType=VARCHAR}, #{staffAge,jdbcType=INTEGER},
#{staffSex,jdbcType=INTEGER})
</insert>
<insert id="insertSelective" parameterType="com.deml.pojo.UserStaff">
insert into user_staff
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="staffId != null">
staff_id,
</if>
<if test="staffName != null">
staff_name,
</if>
<if test="staffAge != null">
staff_age,
</if>
<if test="staffSex != null">
staff_sex,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="staffId != null">
#{staffId,jdbcType=VARCHAR},
</if>
<if test="staffName != null">
#{staffName,jdbcType=VARCHAR},
</if>
<if test="staffAge != null">
#{staffAge,jdbcType=INTEGER},
</if>
<if test="staffSex != null">
#{staffSex,jdbcType=INTEGER},
</if>
</trim>
</insert>
<update id="updateByPrimaryKeySelective" parameterType="com.deml.pojo.UserStaff">
update user_staff
<set>
<if test="staffName != null">
staff_name = #{staffName,jdbcType=VARCHAR},
</if>
<if test="staffAge != null">
staff_age = #{staffAge,jdbcType=INTEGER},
</if>
<if test="staffSex != null">
staff_sex = #{staffSex,jdbcType=INTEGER},
</if>
</set>
where staff_id = #{staffId,jdbcType=VARCHAR}
</update>
<update id="updateByPrimaryKey" parameterType="com.deml.pojo.UserStaff">
update user_staff
set staff_name = #{staffName,jdbcType=VARCHAR},
staff_age = #{staffAge,jdbcType=INTEGER},
staff_sex = #{staffSex,jdbcType=INTEGER}
where staff_id = #{staffId,jdbcType=VARCHAR}
</update>
</mapper>
pojo
package com.deml.pojo;
import java.io.Serializable;
public class UserStaff implements Serializable {
private String staffId;private String staffName;
private Integer staffAge;
private Integer staffSex;
private static final long serialVersionUID = 1L;
public String getStaffId() {
return staffId;
}public void setStaffId(String staffId) {
this.staffId = staffId == null ? null : staffId.trim();
}public String getStaffName() {
return staffName;
}public void setStaffName(String staffName) {
this.staffName = staffName == null ? null : staffName.trim();
}public Integer getStaffAge() {
return staffAge;
}public void setStaffAge(Integer staffAge) {
this.staffAge = staffAge;
}public Integer getStaffSex() {
return staffSex;
}public void setStaffSex(Integer staffSex) {
this.staffSex = staffSex;
}
}
service
package com.deml.service;
import java.util.List;
import com.deml.pojo.UserStaff;
public interface UserStaffService {
List<UserStaff> select ();
UserStaff selectByPrimaryKey(String staffId);
int deleteByPrimaryKey(String staffId);
}package com.deml.service.iml;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.deml.mapper.UserStaffMapper;
import com.deml.pojo.UserStaff;
import com.deml.service.UserStaffService;@Service
public class UserStaffServiceIml implements UserStaffService {@Autowired
private UserStaffMapper userStaffMapper;
//全查
@Override
public List<UserStaff> select() {
return userStaffMapper.selectByList();
}
@Override
public UserStaff selectByPrimaryKey(String staffId) {
return userStaffMapper.selectByPrimaryKey(staffId);
}
@Override
public int deleteByPrimaryKey(String staffId) {
int deleteStatus = userStaffMapper.deleteByPrimaryKey(staffId);
return deleteStatus;
}}
展示: