Java学习笔记

 
  • mybatis返回主键id:
    • 如果主键是自增主键的话,主键字段为int类型,自增生成id后,返回一个int插入成功与否的信息,然后直接通过实体调用id,则返回一个数据库主键id,当然如果插入失败,返回0后,实体调用会返回一个0.
1 <insert id="insertUser"  parameterType="cn.lisongyu.entity.User"> 
2     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">    
3         SELECT LAST_INSERT_ID()    
4     </selectKey>
5         insert into user (name,sex)  values (#{name},#{sex})  
6 </insert>
    •   如果主键是字符串的话,主键为varchar类型,一般都会使用mysql数据库自带的属性,类如uuid(),同时在写sql的时候也要将id字段写到insert语句中,在进行数据库插入时,随机生成一个uuid,进行字段的补充插入.
1 <insert id="insertUser"  parameterType="cn.lisongyu.entity.User">
2        <selectKey keyProperty="id" order="BEFORE" resultType="String">      
3             select uuid()        
4        </selectKey>         
5           insert into user (id,name,sex)  values (#{id},#{name},#{sex})  
6 </insert>
   

 
  • 在前后台数据对接的时候,前端向后端发送一个form表单,提交数据,为了项目的直观性,一般我们要创建一个form实体,专门用来接收数据.如果前端在提交的数据中有文件类型,那么将对应的属性类型给成MultipartFile,它可以直接读取文件.
  • 后端接收的时候,直接在参数中将实体写出,
 
  • 在接收文件的时候,可能真正上传的数据是流数据的,所以在MultipartFile转File的时候就需要CommonsMultipartFile来实现强转.然后通过getFileItem()来获取一个磁盘缓存文件DiskFileItem(也需要强转一下).然后通过fileItem.getInputStream()获取数据流就可以通过流上传到想要的位置了.我使用的这个是阿里云的oss数据存储服务器.
  • 同时我使用的springboot.
    • 在springboot的yml配置文件中开启文件上传功能, spring.http.multipart.enabled =true
    • 在Application启动项中添加文件控制的配置
      • @EnableAutoConfiguration(exclude={MultipartAutoConfiguration.class}) 将文件上传的配置剖除
      • @Bean(name="multipartResolver")将上传文件的配置通过@Beam来实现配置

  • springboot 静态方法调用注入的时候,无法直接使用,会报空指针错误.通过类名添加@Component注解,@PostConstruct注解,将注入的信息赋值给静态属性中,就可以实现效果

  • 使用阿里巴巴的druid数据库连接池的时候,对数据进行加密.
java -cp druid-1.0.27.jar com.alibaba.druid.filter.config.ConfigTools **your password**

 


 
posted @ 2018-10-28 13:41  lisongyu  阅读(156)  评论(0编辑  收藏  举报