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**