SSM框架之一個簡單的增刪改查Demo
阿新 • • 發佈:2019-02-11
前言
之前我們已經搭建好了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
專案github地址,有興趣的朋友可以參考: ssm-demo