學習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