中级软件设计师软考备考资源
软考资源在百度网盘上
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
即在mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到。
这是一个很容易忽视的点,记住:接口名与Mybatis的映射文件名一定要一模一样。
截图为网络中搜索到的常见原因:
照着修改之后,问题依旧存在。最终花费了好大的力气才找到自己代码问题的根源。dao接口与xml的文件名不一致。
接口名与接口文件名都是DepartmentDao, 而配置文件名为DeparmentDao.xml,费了很大的劲才看到两者名字查一个t字母。修改后就一切正常了。
这是一个很容易忽视的点,记住:接口名与Mybatis的映射文件名一定要一模一样。
Java剪绳子
题目:给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],···,k[m]。请问k[0]×k[1]×···×k[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。
package algorithmBasic;
/**
* @author kegekeqi
* @version 1.0
* @date 2021-12-15 8:23
*/
public class RopeTest {
/**
* * 动态规划
* @param length
* @return
*/
public int maxProduct(int length) {
if (length < 2) {
return 0;
}
if (length == 2) {
return 1;
}
if (length == 3) {
return 2;
}
int[] products = new int[length + 1];
products[1] = 1;
products[2] = 2;
products[3] = 3;
int max;
for (int i = 4; i <= length; i++) {
max = 0;
for (int j = 1; j <= i / 2; j++) {
int product = products[j] * products[i - j];
if (max < product) {
max = product;
}
}
products[i] = max;
}
return products[length];
}
/**
* 贪婪算法
* @param length
* @return
*/
public int maxPro(int length) {
if (length < 2) {
return 0;
}
if (length == 2) {
return 1;
}
if (length == 3) {
return 2;
}
int timesOf3 = length / 3;
if (length - timesOf3 * 3 == 1) {
timesOf3 -= 1;
}
int timesOf2 = (length - timesOf3 * 3) / 2;
return (int) (Math.pow(3, timesOf3) * Math.pow(2, timesOf2));
}
public static void main(String[] args) {
RopeTest ropeTest = new RopeTest();
int maxProduct = ropeTest.maxProduct(8);
System.out.println(maxProduct);
int maxPro = ropeTest.maxPro(8);
System.out.println(maxPro);
}
}
结果
18
18