0
点赞
收藏
分享

微信扫一扫

中级软件设计师软考备考资源;解决org.apache.ibatis.binding.BindingException: Invalid bound statement ;Java剪绳子


中级软件设计师软考备考资源

软考资源在百度网盘上

中级软件设计师软考备考资源;解决org.apache.ibatis.binding.BindingException: Invalid bound statement ;Java剪绳子_文件名


中级软件设计师软考备考资源;解决org.apache.ibatis.binding.BindingException: Invalid bound statement ;Java剪绳子_xml_02


中级软件设计师软考备考资源;解决org.apache.ibatis.binding.BindingException: Invalid bound statement ;Java剪绳子_文件名_03


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


举报

相关推荐

0 条评论