发表于: 2017-06-09 22:57:35
2 1052
今天完成的事情:对之前编译的两个项目进行bug修复
在JdbcTemplate项目的pom.xml文件中添加依赖,书上的案例用的是H2数据库,与要求不符
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.15</version>
</dependency>
修改TestDaoJdbcImpl.java中的sql语句,犯了低级错误表名不正确
public Test find(long testId) {
return jdbcTemplate
.queryForObject(
"select id,name,qq,link,school from tests where id = ?",
new RowMapper<Test>() {
public Test mapRow(ResultSet rs, int rowNum)
throws SQLException {
Test test = new Test();
test.setId(rs.getLong("id"));
test.setName(rs.getString("name"));
test.setQq(rs.getString("qq"));
test.setLink(rs.getString("link"));
test.setSchool(rs.getString("school"));
return test;
}
}, testId);
}
修改完成之后编译成功
在mybatis项目中的testMapper.xml中删除parameterType语句
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
例如namespace="me.wyc.mapping.testMapper"就是me.wyc.mapping(包名)+testMapper(testMapper.xml文件去除后缀)
-->
<mapper namespace="me.wyc.mapping.testMapper">
<!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getTest,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="me.wyc.domain.Test"就表示将查询结果封装成一个Test类的对象返回
Test类就是tests表所对应的实体类
-->
<!--
根据id查询得到一个test对象
-->
<select id="getTest" resultType="me.wyc.domain.Test">
select * from tests where id=#{id}
</select>
</mapper>
在con.xml中将<mapper></mappers>移出<environment></environments>
运行成功编译
使用navicat连接服务器上的数据库出现问题
服务器能够ping通,防火墙已经关闭,用户设置也是所有IP可以访问,navicat还是不能连接
连接登录的是myt用户但是没法访问任务一的接下来的任务暂时终止。
听吴志勇师兄讲小课堂,主要讲了maven的一些实际用法以及module,可能代码敲少了,感触不是很深。
明天计划的事情:解决服务器数据库的连接问题,完成任务一接下来的测试,并对任务一进行一个总结。
遇到的问题:总是在一些细枝末节的地方出一些低级失误,搞的都不意思问师兄了。
收获:解决了之前代码的BUG,并对mybatis的元素属性有了更深的了解。
评论