int类型参数无法保存形参会变成arg0代替

有多個參數的時候,要告訴 Mybatis 哪個位置的參數必須叫什麼名字
補上 @Param
ctrl+shift+t 生成测试类
这位老哥的评论真的牛皮:
很不幸,数据库连接失败,而且我几乎遇到了评论中的所有问题,耗时三小时解决。感谢这些评论,让我少花了很多时间。
1)超时异常,可加大checkoutTimeout的value值
2)版本问题,将maven配置的mysql版本换到8以上,我的是8.0.11。(5、6版本都存在问题)
3)时区问题,在jdbc的url后面加上:&serverTimezone=UTC
4)username的问题,换一个名称即可。如user
以上任何一个问题没有解决,都运行不了。
优化:
1)jdbc的url后面加&useSSL=false,因为需要显示设置SSL连接。
2)不用手动配置jdbc的驱动,现在都是自动安装。
代码完全没问题, 数据库我用Navicat也能连上,
但始debug终报错,死活说连不上数据库.
实在不行找了个偏方,数据库连接配置文件里加上jdbc居然神奇的解决了....:
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://10.206.14.199:3306/seckill?useUnicode=true&characterEncoding=utf8 jdbc.username=root jdbc.password=123456
注意spring-dao.xml对应的也要加上jdbc
单元测试放在test目录,程序代码放在test下的java目录
在DAO文件中选中方法,用快捷键(command+shift+D)配置junit4的规范的 测试类
目的:测试DAO所对应的SQL语句,接口定义,数据绑定没有问题就可以。
1.配置Spring和Junit整合,启动时加载SpringIOC容器
@RunWith(SpringJUnit4ClassRunner.class)
2.告诉JUnit,Spring配置文件位置
@ContextConfiguration({"classpath: "})
3.注入依赖
@Resource
4.mybatis --形参注解
@Param("name")
java没有保存形参的记录
配置测试类

直接写方法需要SeckillDao的依赖,但SeckillDao的实现类是mybatis帮我们做的,通过跟spring整合把SeckillDao的实现类注入到mybatis容器当中,spring和junit整合是为了junit启动时加载springIOC容器。
spring-test,junit是方便我们做测试的两个依赖
//RunWith是junit依赖,可以传入SpringJunit4ClassRunner.class
@RunWith(SpringJunit4ClassRunner.class)
//注解,告诉junit spring配置文件在什么位置
@ContextConfiguration({"classpath:spring/spring-dao.xml"})测试类中要注入Dao实现类依赖
//依赖注入的注解,会去spring容器中查找下面的实现类 @Resoure private SeckillDao seckillDao;
mybatis,提供多个参数时,可以用map,也可以用注解