springboot+ssm分页查询包括增删改查

application.properties文件配置数据源、日志、端口、服务器等

# Tomcat
server.tomcat.max-threads=1000
server.tomcat.min-spare-threads=30
server.port=90

# 存放数据库URL的文件
spring.profiles.active=dev

# mysql
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.username=
spring.datasource.password=

# DataSource
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.timeBetweenEvictionRunsMillis=60000
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.filters=stat,wall,log4j
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000


# Mybatis Mapper
#mybatis.mapperLocations=classpath:mapper/*.xml
# Mybatis mapUnderscoreToCamelCase
#mybatis.configuration.mapUnderscoreToCamelCase=true
#mybatis.configuration.useColumnLabel=true

# jackson
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

spring.thymeleaf.cache=false

# logback
logging.config=classpath:logback-spring.xml
logging.file=F:/SSMM/logs/springboot.log

application-dev.properties

spring.datasource.url=jdbc:mysql://localhost:3306/数据库?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8

Controller:

@RestController
@RequestMapping("sysuser")
public class SysUserController {
	@Autowired
	private SysUserService sysUserService;
	
	/**
	 * 列表
	 */
	@RequestMapping("/list")
	public R list(@RequestParam Map<String, Object> params){
		//查询列表数据
        Query query = new Query(params);

		List<SysUserEntity> sysUserList = sysUserService.queryList(query);
		int total = sysUserService.queryTotal(query);
		
		PageUtils pageUtil = new PageUtils(sysUserList, total, query.getLimit(), query.getPage());
		
		return R.ok().put("page", pageUtil);
	}
	
	
	/**
	 * 信息
	 */
	@RequestMapping("/info/{userId}")
	public R info(@PathVariable("userId") Long userId){
		SysUserEntity sysUser = sysUserService.queryObject(userId);
		
		return R.ok().put("sysUser", sysUser);
	}
	
	/**
	 * 保存
	 */
	@RequestMapping("/save")
	public R save(@RequestBody SysUserEntity sysUser){
		sysUserService.save(sysUser);
		
		return R.ok();
	}
	
	/**
	 * 修改
	 */
	@RequestMapping("/update")
	public R update(@RequestBody SysUserEntity sysUser){
		sysUserService.update(sysUser);
		
		return R.ok();
	}
	
	/**
	 * 删除
	 */
	@RequestMapping("/delete")
	public R delete(@RequestBody Long[] userIds){
		sysUserService.deleteBatch(userIds);
		
		return R.ok();
	}
	
}

service:

interface:

public interface SysUserService {
	
	SysUserEntity queryObject(Long userId);
	
	List<SysUserEntity> queryList(Map<String, Object> map);
	
	int queryTotal(Map<String, Object> map);
	
	void save(SysUserEntity sysUser);
	
	void update(SysUserEntity sysUser);
	
	void delete(Long userId);
	
	void deleteBatch(Long[] userIds);
}

impl:

@Service("sysUserService")
public class SysUserServiceImpl implements SysUserService {
	@Autowired
	private SysUserDao sysUserDao;
	
	@Override
	public SysUserEntity queryObject(Long userId){
		return sysUserDao.queryObject(userId);
	}
	
	@Override
	public List<SysUserEntity> queryList(Map<String, Object> map){
		return sysUserDao.queryList(map);
	}
	
	@Override
	public int queryTotal(Map<String, Object> map){
		return sysUserDao.queryTotal(map);
	}
	
	@Override
	public void save(SysUserEntity sysUser){
		sysUserDao.save(sysUser);
	}
	
	@Override
	public void update(SysUserEntity sysUser){
		sysUserDao.update(sysUser);
	}
	
	@Override
	public void delete(Long userId){
		sysUserDao.delete(userId);
	}
	
	@Override
	public void deleteBatch(Long[] userIds){
		sysUserDao.deleteBatch(userIds);
	}
	
}

model:

public class SysUserEntity implements Serializable {
	private static final long serialVersionUID = 1L;
	
	//
	private Long userId;
	//用户名
	private String username;
	//密码
	private String password;
	//邮箱
	private String email;
	//手机号
	private String mobile;
	//状态  0:禁用   1:正常
	private Integer status;
	//创建者ID
	private Long createUserId;
	//创建时间
	private Date createTime;

	/**
	 * 设置:
	 */
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	/**
	 * 获取:
	 */
	public Long getUserId() {
		return userId;
	}
	/**
	 * 设置:用户名
	 */
	public void setUsername(String username) {
		this.username = username;
	}
	/**
	 * 获取:用户名
	 */
	public String getUsername() {
		return username;
	}
	/**
	 * 设置:密码
	 */
	public void setPassword(String password) {
		this.password = password;
	}
	/**
	 * 获取:密码
	 */
	public String getPassword() {
		return password;
	}
	/**
	 * 设置:邮箱
	 */
	public void setEmail(String email) {
		this.email = email;
	}
	/**
	 * 获取:邮箱
	 */
	public String getEmail() {
		return email;
	}
	/**
	 * 设置:手机号
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	/**
	 * 获取:手机号
	 */
	public String getMobile() {
		return mobile;
	}
	/**
	 * 设置:状态  0:禁用   1:正常
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}
	/**
	 * 获取:状态  0:禁用   1:正常
	 */
	public Integer getStatus() {
		return status;
	}
	/**
	 * 设置:创建者ID
	 */
	public void setCreateUserId(Long createUserId) {
		this.createUserId = createUserId;
	}
	/**
	 * 获取:创建者ID
	 */
	public Long getCreateUserId() {
		return createUserId;
	}
	/**
	 * 设置:创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 获取:创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}
}

dao:

public interface SysUserDao{
    SysUserEntity queryObject(Long userId);

    List<SysUserEntity> queryList(Map<String, Object> map);

    int queryTotal(Map<String, Object> map);

    void save(SysUserEntity sysUser);

    void update(SysUserEntity sysUser);

    void delete(Long userId);

    void deleteBatch(Long[] userIds);
}

返回数据对象R:


/**
 * 返回数据
 * 
 */
public class R extends HashMap<String, Object> {
	private static final long serialVersionUID = 1L;
	
	public R() {
		put("code", 0);
	}
	
	public static R error() {
		return error(500, "未知异常,请联系管理员");
	}
	
	public static R error(String msg) {
		return error(500, msg);
	}
	
	public static R error(int code, String msg) {
		R r = new R();
		r.put("code", code);
		r.put("msg", msg);
		return r;
	}

	public static R ok(String msg) {
		R r = new R();
		r.put("msg", msg);
		return r;
	}
	
	public static R ok(Map<String, Object> map) {
		R r = new R();
		r.putAll(map);
		return r;
	}
	
	public static R ok() {
		return new R();
	}

	public R put(String key, Object value) {
		super.put(key, value);
		return this;
	}
}

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.kx.dao.SysUserDao">

	<!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.kx.entity.SysUserEntity" id="sysUserMap">
        <result property="userId" column="user_id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
        <result property="email" column="email"/>
        <result property="mobile" column="mobile"/>
        <result property="status" column="status"/>
        <result property="createUserId" column="create_user_id"/>
        <result property="createTime" column="create_time"/>
    </resultMap>

	<select id="queryObject" resultType="com.kx.entity.SysUserEntity">
		select * from sys_user where user_id = #{value}
	</select>

	<select id="queryList" resultType="com.kx.entity.SysUserEntity">
		select * from sys_user
        <choose>
            <when test="sidx != null and sidx.trim() != ''">
                order by ${sidx} ${order}
            </when>
			<otherwise>
                order by user_id desc
			</otherwise>
        </choose>
		<if test="offset != null and limit != null">
			limit #{offset}, #{limit}
		</if>
	</select>
	
 	<select id="queryTotal" resultType="int">
		select count(*) from sys_user 
	</select>
	 
	<insert id="save" parameterType="com.kx.entity.SysUserEntity" useGeneratedKeys="true" keyProperty="userId">
		insert into sys_user
		(
			`username`, 
			`password`, 
			`email`, 
			`mobile`, 
			`status`, 
			`create_user_id`, 
			`create_time`
		)
		values
		(
			#{username}, 
			#{password}, 
			#{email}, 
			#{mobile}, 
			#{status}, 
			#{createUserId}, 
			#{createTime}
		)
	</insert>
	 
	<update id="update" parameterType="com.kx.entity.SysUserEntity">
		update sys_user 
		<set>
			<if test="username != null">`username` = #{username}, </if>
			<if test="password != null">`password` = #{password}, </if>
			<if test="email != null">`email` = #{email}, </if>
			<if test="mobile != null">`mobile` = #{mobile}, </if>
			<if test="status != null">`status` = #{status}, </if>
			<if test="createUserId != null">`create_user_id` = #{createUserId}, </if>
			<if test="createTime != null">`create_time` = #{createTime}</if>
		</set>
		where user_id = #{userId}
	</update>
	
	<delete id="delete">
		delete from sys_user where user_id = #{value}
	</delete>
	
	<delete id="deleteBatch">
		delete from sys_user where user_id in 
		<foreach item="userId" collection="array" open="(" separator="," close=")">
			#{userId}
		</foreach>
	</delete>

</mapper>

pom文件:


	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.3.RELEASE</version>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<mybatis.spring.boot.version>1.2.0</mybatis.spring.boot.version>
		<mysql.version>5.1.38</mysql.version>
		<druid.version>1.0.28</druid.version>
		<swagger.version>2.2.2</swagger.version>
		<commons.lang.version>2.6</commons.lang.version>
		<commons.io.version>2.5</commons.io.version>
		<fastjson.version>1.2.30</fastjson.version>
		<swagger.version>2.2.2</swagger.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>${mybatis.spring.boot.version}</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>${mysql.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>${druid.version}</version>
		</dependency>

		<dependency>
			<groupId>commons-lang</groupId>
			<artifactId>commons-lang</artifactId>
			<version>${commons.lang.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>${fastjson.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-io</groupId>
			<artifactId>commons-io</artifactId>
			<version>${commons.io.version}</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger2</artifactId>
			<version>${swagger.version}</version>
		</dependency>
		<dependency>
			<groupId>io.springfox</groupId>
			<artifactId>springfox-swagger-ui</artifactId>
			<version>${swagger.version}</version>
		</dependency>
		<dependency>
			<groupId>commons-configuration</groupId>
			<artifactId>commons-configuration</artifactId>
			<version>${commons.configuration.version}</version>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!--fork : 如果没有该项配置,不使用devtools不会起作用,即应用不会restart -->
					<fork>true</fork>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值