采用Jave Web技术开发Web技术课程网站,网站主要实现教学大纲、课程介绍等教学内容的浏览,教学课件和视频资料的浏览下载,简单的留言和回复功能。
1.框架
前端:layui
后端:springboot mybatis
2.数据库设计
数据库
- 用户表
-
用户附加信息表
-
留言回复表
-
留言表
-
回复表[方便展示–有冗余数据]
-
-
课程的相关表
- 主体表
-
收藏记录[方便记录有冗余数据]
mybatis设计
User为例
- 实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Integer user_id;
private String user_name;
private String user_password;
private String user_avatar;
private String user_signature;
public User(String user_name, String user_password) {
this.user_name = user_name;
this.user_password = user_password;
}
}
- Mapper接口
@Mapper
public interface UserMapper {
@Select("select * from user")
List<User> getAllUser();
@Insert("insert into user (user_name,user_password,user_signature) values" +
" (#{user.user_name},#{user.user_password},#{user.user_signature})")
void addUser(@Param("user") User user);
@Select("select * from user where user_name=#{name}")
List<User> selectUserByName(@Param("name") String userName);
@Insert("insert into userMoreMessage (user_id) values (#{user_id})")
void addPersonMessage(@Param("user_id") int user_id);
@Select("select * from userMoreMessage where user_id=#{user_id}")
List<UserMoreMessage> selectMessage(@Param("user_id") int user_id);
@Update("update user set user_avatar=#{user.user_avatar} where user_name=#{user.user_name}")
void updateAvatar(@Param("user") User user);
@Update("update user set user_name=#{user.user_name} where user_id=#{user.user_id}")
void updateUserName(@Param("user") User user);
@Update("update user set user_signature=#{user.user_signature} where user_id=#{user.user_id}")
void updateUserSignature(@Param("user") User user);
@Update("update userMoreMessage set user_address=#{userMoreMessage.user_address}," +
"user_website=#{userMoreMessage.user_website},user_introduction=#{userMoreMessage.user_introduction} where user_id=#{userMoreMessage.user_id}")
void updateUserMessage(@Param("userMoreMessage") UserMoreMessage userMoreMessage);
@Select("select * from user where user_id=#{user_id}")
User selectUserById(@Param("user_id") int user_id);
}
- 实现Dao
@Component
public class UserDao implements UserMapper{
@Autowired
SqlSession sqlSession;
@Override
public List<User> getAllUser() {
return sqlSession.selectList("com.dao.UserMapper.getAllUser");
}
@Override
public void addUser(User user) {
sqlSession.insert("com.dao.UserMapper.addUser",user);
}
@Override
public List<User> selectUserByName(String userName) {
return sqlSession.selectList("com.dao.UserMapper.selectUserByName",userName);
}
@Override
public void addPersonMessage(int user_id) {
sqlSession.insert("com.dao.UserMapper.addPersonMessage",user_id);
}
@Override
public List<UserMoreMessage> selectMessage(int user_id) {
return sqlSession.selectList("com.dao.UserMapper.selectMessage",user_id);
}
@Override
public void updateAvatar(User user) {
sqlSession.update("com.dao.UserMapper.updateAvatar",user);
}
@Override
public void updateUserName(User user) {
sqlSession.update("com.dao.UserMapper.updateUserName",user);
}
@Override
public void updateUserSignature(User user) {
sqlSession.update("com.dao.UserMapper.updateUserSignature",user);
}
@Override
public void updateUserMessage(UserMoreMessage userMoreMessage) {
sqlSession.update("com.dao.UserMapper.updateUserMessage",userMoreMessage);
}
@Override
public User selectUserById(int user_id) {
return sqlSession.selectOne("com.dao.UserMapper.selectUserById",user_id);
}
}
3.逻辑及成果
3.1 登录和注册
逻辑简单,效果
3.2 修改个人信息
添加头像
修改信息