![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java后端
常见问题
学吧太深了
这个作者很懒,什么都没留下…
展开
-
centos7 配置 sftp 服务器并通过 java 上传文件
centos7 配置 sftp 服务器并通过 java 上传文件原创 2023-05-04 14:58:37 · 768 阅读 · 0 评论 -
java项目打包,如何将使用到的jar包打入到项目的jar包中(适用于不方便添加lib到目标服务的情况)
java 项目打包原创 2023-03-03 17:23:23 · 1464 阅读 · 0 评论 -
fastjson 批量使用日期格式化
【代码】fastjson 批量使用日期格式化。原创 2022-10-25 09:55:05 · 902 阅读 · 0 评论 -
jqGrid 表格设置单选按钮
【代码】jqGrid 表格设置单选按钮。原创 2022-10-21 11:05:14 · 409 阅读 · 0 评论 -
java使用 xdocreport,以 docx 模板方式进行 docx 文档的下载
xdocreport,java 后台调用原创 2022-09-20 15:58:17 · 1020 阅读 · 0 评论 -
map初始化容量问题
HashMap 初始化时可以设置容量参数,比如说你有7个参数,你可能会默认设置为7,但是这么设置其实是有问题的。原因HashMap 会根据用户的传值去选择大于这个值的第一个二的幂作为容量。这么做是因为通过二的幂用来哈希寻址的方法是最高效的。最佳值设置(期望的容量值/扩展因子)+1例如:期望容量值为7,扩展因子为默认值则最佳值设置:(7/0.75)+1=10...原创 2022-05-30 10:37:47 · 938 阅读 · 0 评论 -
页面404,后台 class not found,但是 jar 包可以定位到
项目结构查看是否所有的 jar 包都添加到了发布版本中,若缺少或根本没有,通过在 WEB-INF 文件夹下创建 lib 文件夹,将所有 jar 包添加进去,保存,重启服务器。原创 2021-11-02 15:52:05 · 82 阅读 · 0 评论 -
jdbctemplate封装自定义对象,查询返回集合
1、自定义的实体类:public class Order implements Serializable { private String orderId; private String userId; private String text; private Integer status; //省略set\get}2、自定义类实现RowMapper接口public class OrderRowMapper implements RowMapper<Orde原创 2021-05-07 10:18:56 · 448 阅读 · 0 评论 -
@Transactional 注解失效问题
1. @Transactional 注解添加在非 public 修饰的方法上;2. @Transactional 的 propagation 属性设置问题;TransactionDefinition.PROPAGATION_SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。TransactionDefinition.PROPAGATION_NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则把当前事务挂起。TransactionDefinit原创 2021-01-28 09:51:51 · 473 阅读 · 0 评论 -
mybatis映射文件使用Map
映射文件对应的接口中,map 参数添加 @Param(“map”) 注解;void addZdConfig(@Param("map") Map<String, String> rowMap, @Param("zdName") String zdName);映射文件中使用 map :<insert id="addZdConfig" parameterType="java.util.Map"> insert into ${zdName} <forea.原创 2021-01-28 08:57:50 · 944 阅读 · 0 评论 -
消除unchecked cast Warning
将一个Object类型转成自己想要的Map、List等,会出现 unchecked cast Warning 警告。Map<String, String> castMap = (HashMap<String, String>) obj;解决办法,添加一个方法:@SuppressWarnings("unchecked")public static <T> T cast(Object obj) { return (T) obj;}使用:Map<原创 2021-01-26 15:14:29 · 926 阅读 · 0 评论 -
读取META-INF下的xml文件
1. xml 文件内容:<?xml version="1.0" encoding="UTF-8"?><!--字典数据配置--><zdDatas> <zdData> <zdTableName>BDC_XT_BH</zdTableName> <zdTableComment>编号配置表</zdTableComment> <zdComments>原创 2021-01-25 14:18:38 · 681 阅读 · 0 评论 -
pageable 使用自定义list实现分页
创建 list 转 pageable 方法:public static <T> Page<T> listConvertToPage(List<T> list, Pageable pageable) { int start = pageable.getOffset(); int end = (start + pageable.getPageSize()) > list.size() ? list.size() : (start + pageable.原创 2021-01-25 14:10:05 · 1108 阅读 · 1 评论 -
idea打包项目,本地创建bat运行
1. idea 执行 maven 命令 package;2. 在控制台可以看到本地文件的存放路径:3. 进入到该目录下,可以看到2个文件:4. 将这两个文件移动到别的地方,以免maven clean 的时候清除掉,并创建自命名的txt文档,这个文档之后作为 bat。5. txt 内容:java -jar fund-supervision-0.0.1.jar -Dmaven.test.skip=true说明:以 jar 方式运行,跳过 test 实例。6. 修改文件后缀名为 bat ,原创 2021-01-15 14:50:29 · 2846 阅读 · 0 评论 -
boot+cxf,实现webservice
1.导入 cxf 依赖<!--cxf--><dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>3.1.6</version></dependency><dependency> <groupId原创 2021-01-07 15:01:31 · 104 阅读 · 0 评论 -
insert和insertselective的区别
使用逆向工程后,会生成一个example后缀的类,此类作为条件类进行操作。insert所有的字段都会添加一遍即使没有值。不论你设置多少个字段,统一都要添加一遍,不论你设置几个字段,即使是一个。insertselective只插入对应的传入过来的字段。(会对传进来的值做非空判断)...原创 2020-11-05 20:40:09 · 972 阅读 · 0 评论 -
mybatis映射文件使用foreach标签
使用foreach标签实现数组查询数据测试://根据gid数组查询商品 @Test public void testGoodsByGids(){ GoodsDao mapper = session.getMapper(GoodsDao.class); //当数组为空,即长度为0时,全查 int[] gids = {2,4}; List<Goods> goods = mapper.selGoodsByGids(gi原创 2020-09-01 16:08:52 · 316 阅读 · 0 评论 -
string转date(手动输入)
mysql中的数据类型为Datejava实体类中的数据类型为Date (util包) //日期在lowDate和heightDate之间 //创建SimpleDateFormat,并设置格式 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //lowDate String lowDat = "2020-08-10"; Date lowDate = sdf.parse(lowDat); //原创 2020-09-01 15:47:52 · 311 阅读 · 0 评论 -
跨域解决方案CORS
CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多原创 2020-11-02 22:43:09 · 198 阅读 · 0 评论 -
JsonArray转换List
将List转换为JsonArray:AppResponse<List<ProjectVo>> allProject = projectServiceFeign.findAllProject();//转jsonString toJSONString = JSON.toJSONString(allProject.getData());//保存到redis中,设置失效时间redisTemplate.opsForValue().set("projectStr", toJSONStr原创 2020-11-10 17:18:44 · 2933 阅读 · 0 评论 -
java异常之-Caused by: java.lang.IllegalStateException: Method has too many Body parameters
feign中,如果发送的是get请求去调用其它模块的方法,在接口处,形参需要添加 @RequestParam 注解。org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dispathcherController': Unsatisfied dependency expressed through field 'userServiceFeign'; nested ex原创 2020-11-10 14:12:11 · 3400 阅读 · 3 评论 -
PO VO DTO BO区别
PO:persistant object 持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO:businessobject 业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO。建立一个对应简历的BO对象处理简历,每个BO包含这些PO。这样处理业务逻辑时,我们就可以原创 2020-11-05 20:17:40 · 131 阅读 · 0 评论 -
ssm-事务--使用配置文件方式进行配置,使用注解进行使用
配置文件内容:文件名称:applicationContext-tx.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframe原创 2020-10-21 13:59:52 · 211 阅读 · 0 评论 -
Spring中的@Transactional注解放在类上和方法上有什么不同?
@Transactional放在类上等同于该类的每个方法都放上了@Transactional//默认将类中的所有函数纳入事务管理.@Transactional(readOnly=true) //配置事务 查询使用只读public Demo{ //方法的写法 (增删改要写 ReadOnly=false) @Transactiona(propagation=Propagation.REQUIRED,isolation=Isolation.DEFAULT,readOnly=fal原创 2020-10-21 13:10:54 · 15517 阅读 · 1 评论 -
mybatis逆向工程
逆向工程的创建:导入jar包(在pom.xml): <!--逆向工程--> <dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> <version>1.3.7</version&g原创 2020-09-01 18:22:19 · 109 阅读 · 0 评论 -
mybatis二级缓存案例
二级缓存是映射级别的缓存,多个sqlSession对象操作同一个映射的sql,多个sqlSession对象可以公用二级缓存。开启二级缓存:(在对应的映射文件中设置)<mapper namespace="com.cn.dao.GoodsDao"> <!--开启二级缓存--> <cache></cache>二级缓存需要给实体类设置序列化接口:先在idea中设置:实体类设置:实体类添加序列化接口版本号:(在类名上,alt+ente原创 2020-09-01 18:00:21 · 128 阅读 · 0 评论 -
一级缓存案例
目的:提高查询效率,减少数据库压力test: //根据gid查询goods @Test public void testSelGoodsByGid(){ GoodsDao mapper = session.getMapper(GoodsDao.class); Goods goods = mapper.selGoodsByGid(4); System.out.println(goods); System.out.printl原创 2020-09-01 17:25:32 · 116 阅读 · 0 评论 -
mybatis核心文件配置时的顺序
configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)databaseIdProvider(数据库厂商标识)mappers(映射器)...原创 2020-09-01 17:14:05 · 220 阅读 · 0 评论 -
mybatis使用if标签进行单个或多个属性修改数据
test://修改goods @Test public void testUpdateGoods(){ GoodsDao mapper = session.getMapper(GoodsDao.class); Goods goods = new Goods(); //如果goods中的某些属性没有写,则不修改 goods.setGid(4); goods.setGprice(3155.55);原创 2020-09-01 16:43:07 · 999 阅读 · 0 评论