发表于: 2016-04-15 23:11:43

2 1878


今天完成的事情:使用XML配置和映射数据库,编写Junit,使用Mybatis完成数据库的增删查改。通过Mybatis的教学视频知道了XML配置文件的一些关键字意思及Mybatis的大致架构。Mybatis由configure.xml(包含数据库连接配置及Mapper授权)+userMapper(包含mapper路径和SQL语句)+表定义的java文件(表字段定义为私有变量、set/get表字段、返回连接字符串为共有变量)+执行的JAVA文件(使用SqlSessionFactory操作数据库)。学会使用Junit测试程序结果及响应时间。

明天计划的事情:整理任务1学到的东西,进行任务2

遇到的问题:

1.开始的一直报错空指针,百度和询问朋友后得知是导入包错了。(需要注意ibatis和MyBatis,由于版本不同,import的类名也不同)

2.找到了相关的文字教程学习并练习Mybatis,但是数据库映射的配置文件还不是很能理解里面的关键字意思。(通过找到Mybatis相关教学视频学习,并下载《MyBatis3用户指南中文版》学习关键字意思,然后逐步的把相关配置改为自己的数据库。此时才发现原来网上的教程基本上来自于《MyBatis3用户指南中文版》。)

3.在教学视频中,表定义的Java文件中含有以下代码并成功通过了测试。

public User(int id, String name, long create_at, long update_at) 

{

super();

this.id = id;

this.name = name;

this.create_at = create_at;

this.update_at = update_at;

}

而我在自己的表定义Java文件中加上这段却报错了。对此,我有两个疑惑:

1)为啥要加上这段代码?

2)为何我加上这段代码却报错

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 

### Error querying database.  Cause: org.apache.ibatis.reflection.ReflectionException: Error instantiating class mybatis.test1.User with invalid types () or values (). Cause: java.lang.NoSuchMethodException: mybatis.test1.User.<init>()

### The error may exist in mybatis/test1/userMapper.xml

### The error may involve mybatis.test1.userMapper.getUser-Inline

### The error occurred while setting parameters

### SQL: select * from student where id=? ......

"

收获:

1.常用的类库很可能已经更新替换的,代码中导入的类要与环境中存在的类名一致。(因为之前是做COBOL的,技术基本上不更新)

2.了解了Mybatis的基本架构及如何配置相关的映射文件,学会了使用Mybatis增删查改Mysql。

3.Junit功能很多,感觉有待发掘。


返回列表 返回列表
评论

    分享到