1.描述:
这部分功能主要是实现发表一条动态并在朋友圈显示的功能。
2.效果展示:
3.思路:
上图是动态对应的数据库表单,我们每次发动态时,可选的有动态的文字部分或者是图片部分,而时间就是当前时间,own_id通过获取当前登录的用户信息获取。
图片在数据库存储方式选择图片地址拼接方式,中间使用逗号隔开(当然,还可以选择更特殊一点的标记符号,因为我在测试过程中发现,有的图片地址中就含有逗号,这样,我们在从数据库取出来图片字段进行字符串切割时,会把这个图片地址切成多份,那么在页面肯定会显示找不到图片的…)
4.代码:
4.1 Mapper:
这部分只是一条插入语句,而且我是通过逆向工程生成的代码,说一这部分没添加代码:
<insert id="insert" parameterType="com.luckysheep.model.Dynamic" >
<!--
WARNING - @mbggenerated
This element is automatically generated by MyBatis Generator, do not modify.
This element was generated on Fri Jun 12 14:10:02 CST 2020.
-->
insert into dynamic (img, own_id,
time_pub, content)
values (#{
img,jdbcType=VARCHAR}, #{
ownId,jdbcType=INTEGER},
#{
timePub,jdbcType=TIMESTAMP}, #{
content,jdbcType=LONGVARCHAR})
</insert>
4.2 Service:
@Override
public void insertDynamtic(Dynamic dynamic) {
dynamicMapper.insert(dynamic);
}
4.3 Controller:
@PostMapping("/pubDynastic")
public String pubDynastic(@RequestParam("imghead1")MultipartFile[] imghead, HttpServletRequest request){
String myText = request.getParameter("myText");
String property = System.getProperty("user.dir");
String picture = "";
if(null != imghead && imghead.length > 0){
for (MultipartFile picFile : imghead) {
if(null != picFile && null != picFile.getOriginalFilename()){
String filePath = property+"\\src\\main\\resources\\static\\img\\"+ picFile.getOriginalFilename();
File fileMdkr = new