学习SSM框架那些事儿
作者 Wwwwei
转载请注明原创出处,谢谢!
前言
之前我们已经搭建好了SSM框架的基本工程结构,本文将会举一个简单的Demo用于说明SSM框架下增删改查的用法。
数据库准备工作
创建一个数据库
为了和之间搭建的工程保持一致,我在这里将数据库命名为ssm_db,编码方式采用UTF-8。
关于SSM框架数据库部分内容可以参考 SSM框架之JDBC配置
创建表结构
创建表名为user的表,表结构如下:
名称 | 类型 | 备注 |
---|---|---|
id | int | 主键 自增长 |
username | vachar | 无 |
password | vachar | 无 |
或者你可以直接执行我写好的sql脚本创建表结构。ssm_db.sql如下:
/*
Navicat MySQL Data Transfer
Source Server : localhost
Source Server Version : 50716
Source Host : localhost
Source Database : ssm_db
Target Server Version : 50716
File Encoding : utf-8
Date: 03/24/2017 15:12:31 PM
*/
SET NAMES utf8;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for `user`
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) NOT NULL,
`password` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
SET FOREIGN_KEY_CHECKS = 1;
代码部分
dao层代码
(1) java/com/demo/dao/entity目录下UserEntity.java如下
package com.demo.dao.entity;
/**
* 用户实体类
*
* @author Wwwwei
*/
public class UserEntity {
private Integer id; //用户id
private String username;//用户名
private String password;//用户密码
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
(2) java/com/demo/dao目录下UserDao.java如下
package com.demo.dao;
import com.demo.dao.entity.UserEntity;
/**
* 用户Dao类
*
* @author Wwwwei
*/
public interface UserDao {
/**
* 插入用户记录
*
* @param userEntity
* @return
*/
Integer insert(UserEntity userEntity);
/**
* 删除用户记录
*
* @param id
* @return
*/
Integer delete(Integer id);
/**
* 更新用户记录
*
* @param userEntity
* @return
*/
Integer update(UserEntity userEntity);
/**
* 根据用户id查找用户
*
* @param id
* @return
*/
UserEntity selectById(Integer id);
}
(3) resources/mappers目录下UserDao.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.demo.dao.UserDao">
<insert id="insert" parameterType="com.demo.dao.entity.UserEntity">
<selectKey keyProperty="id" resultType="java.lang.Integer"
order="AFTER">
SELECT
LAST_INSERT_ID()
</selectKey>
INSERT INTO
user(id,username,password)
VALUES(#{id},#{username},#{password});
</insert>
<update id="update" parameterType="com.demo.dao.entity.UserEntity">
UPDATE user
SET id=#{id},username=#{username},password=#{password}
WHERE id=#{id}
</update>
<select id="selectById" resultType="com.demo.dao.entity.UserEntity" parameterType="java.lang.Integer">
SELECT *
FROM user
WHERE id=#{id};
</select>
<delete id="delete" parameterType="java.lang.Integer">
DELETE FROM user
WHERE id=#{id}
</delete>
</mapper>
service层代码
(1) java/com/demo/service目录下UserService.java如下
package com.demo.service;
import com.demo.dao.entity.UserEntity;
/**
* 用户服务类
*
* @author Wwwwei
*/
public interface UserService {
/**
* 创建用户
*
* @param userEntity
* @return
*/
Integer createUser(UserEntity userEntity);
/**
* 更新用户
*
* @param userEntity
* @return
*/
Integer updateUser(UserEntity userEntity);
/**
* 删除用户
*
* @param id
* @return
*/
Integer deleteUser(Integer id);
/**
* 根据用户id查询用户
*
* @param id
* @return
*/
UserEntity getUserById(Integer id);
}
(2) java/com/demo/service/impl目录下UserServiceImpl.java如下
package com.demo.service.impl;
import com.demo.dao.UserDao;
import com.demo.dao.entity.UserEntity;
import com.demo.service.UserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 用户服务实现类
*
* @author Wwwwei
*/
@Service
public class UserServiceImpl implements UserService {
@Resource
private UserDao userDao;
public Integer createUser(UserEntity userEntity) {
return userDao.insert(userEntity);
}
public Integer updateUser(UserEntity userEntity) {
return userDao.update(userEntity);
}
public Integer deleteUser(Integer id) {
return userDao.delete(id);
}
public UserEntity getUserById(Integer id) {
return userDao.selectById(id);
}
}
总结
到这里,关于SSM框架一个简单的增删改查Demo讲解结束了。
下篇文章将讲解SSM框架中的JUnit使用,并对以上Demo进行测试 SSM框架之使用JUnit
关于SSM框架的其他部分可以点击 学习SSM框架那些事儿
项目github地址,有兴趣的朋友可以参考: ssm-demo